黑马程序员-File类文件操作

来源:互联网 发布:软文标题 知乎 编辑:程序博客网 时间:2024/06/07 03:05

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

一、File类简介以及相关方法

1、用来将文件或者文件夹封装成对象,通过类中的方法实现对文件和文件夹的操作。

2、File对象可以作为参数传递给流的构造函数。

Static String separator 定义文件和文件夹分隔符.

File类常用的方法简介:

boolean createNewFile(); 在指定位置创建文件,如果该文件已经存在,则不创建,会覆盖原来存在的文件。

boolean mkdir(); 创建文件夹,只能创建2个级目录, 成功返回true否则返回false

boolean mkdirs(); 创建多级目录,成功返回true否则返回false

boolean exists(); 判断文件是否存在

boolean canWrite(); 判断文件是否可写

boolean canReade(); 判断文件是否可读

boolean isDirectory(); 判断是否是目录、

boolean isFile(); 判断是否是文件

boolean isAbsolute();判断是否是绝对路径

boolean isHidden(); 判断文件是否是隐藏

String getName(); 获取文件名

String getParent(); 该方法返回的是绝对路径中的父目录

String getPath(); 获取文件封装路径

String getAbsolutePath(); 获取文件绝对路径

long lastModified(); 返回文件最后一次被修改的时间

long length();     返回文件的长度

String toString():返回此抽象路径名的路径名字符串,该字符串就是getPath方法返回的字符串

public class Test {

    public static void main(String[] args) throws IOException {

       File f = new File("C:\\test.Java");

       // 是否是一个目录

       sop(f.isDirectory());

       // 是否是可执行文件

       sop(f.canExecute());

       // 文件是否存在

       sop(f.exists());

       // 是否是一个文件

       sop(f.isFile());

       // 是否是隐藏文件

       sop(f.isHidden());

    }

    public static void sop(Object obj) {

       System.out.println(obj);

    }

}

打印文件夹下的所有文件:

public class Test4 {

    public static void main(String[] args) {

       //创建文件对象

       File f = new File("d:\\ss");

       if(f.isDirectory())

       {

           //打印文件

           showDir(f);

       }else if(f.isFile())

       {

           showDir(f);

       }else

       {

           System.out.println("请输入文件或者文件夹!");

       }

 

    }

    // 列出所有文件名方法

    public static void showDir(File f) {

       // 打印本目录路径

       System.out.println(f);

       File[] files = f.listFiles();

       for (File name : files) {

          

           if (name.isDirectory()) {

              showDir(name);

           } else {

              System.out.println(name);

           }

       }

    }

}

二、获取属性文件Properties

Java.util.Properties:一个可以将键值进行持久化存储的对象。是Hashtable的子类。

Map

       |--Hashtable

              |--Properties:用于属性配置文件,键和值都是字符串类型。

特点:1:可以持久化存储数据。2:键值都是字符串。3:一般用于配置文件。

|-- load():将流中的数据加载进集合。

|-- store():写入各个项后,刷新输出流。

|-- list():将集合的键值数据列出到指定的目的地。

public class Test2 {

    public static void main(String[] args) {

       //获取系统配置文件名称和属性

       Properties prop = System.getProperties();

       Set names = prop.stringPropertyNames();

       for (String name : names) {

           sop(name + "::" + prop.getProperty(name));

       }

    }

    public static void sop(Object obj) {

       System.out.println(obj);

    }

}

三、打印流PrintStream

1:该类可以直接打印任意类型的数据。

2:对于指定方法可以自动刷新。

3:它使用的本机默认的字符编码.

4:该流的print方法不抛出IOException。

构造函数可以接受的参数类型
1、file对象。
2、字符串路径。String
3、字节输出流 OutputStream

public class Test3 {

 

    public static void main(String[] args) throws IOException {

       BufferedReader bufr = new BufferedReader(new InputStreamReader(

              System.in));

       PrintWriter out = new PrintWriter(new FileWriter("d:\\text.txt"), true);

       for (String line = null; (line = bufr.readLine()) != null;) {

           if ("over".equals(line))

              break;

           out.println(line);

       }

       bufr.close();

       out.close();

    }

}

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------


详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>

 

0 0
原创粉丝点击