输入/输出(File类篇)

  • Post author:
  • Post category:其他


(1)

File类

File不太会去使用,但是在Java5之前的程序还是有File的存在并且广泛使用,所以还是有必要了解一下。

1.File的优点

File可以保证在不同系统中的文件路径可以互相兼容。

例如:Windows中的文件夹和子文件夹之间用 ‘\’ 区分,但是在Unix\Linux中却是用 ‘/’ 区分的,所以不可以直接调用,但是自己去改就太麻烦了又浪费时间。所以:

parent  + File.separator + emm.txt

假设有个文件夹下有一个emm的文件,在Windows架构下separator方法会返回 ‘\’,同理Unix\Linux中会返回 ‘/’。保证程序在不同架构下调用文件时使用路径时不会发生错误。

2.File类的构造方法

1.

public File(java.lang.String pathname)

注:在Windows结构下

        File myFile = new File("C:\\parent\\emm.txt");//该路径为绝对路径

引入兼容性

        File myFile = new File("C:\\parent"+File.separator+"emm.txt");//该路径为绝对路径


扩展

: 相对路径的概念

例如在parent的文件夹下调用java的程序这时路径可以替换成下列代码

        File myFile = new File("emm");//该路径为相对路径

2.

public File(java.lang.String parent,java.lang.String child)

可以将兼容性简化

        File myFile = new File("C:\\parent","emm");

如果parent的值为NULL,则和相对路径下的构造方法相同

3.

public(File parent,java.lang.String child)

该构造方法和第2个构造方法相似只不过parent参数传递一个File,      如果parent的值为               NULL,则和相对路径下的构造方法相同。

4.

public File(java.net.URI uri)



通过传递的URI转换为抽象路径名

3.File类的方法

下列是File重要方法

    //测试应用程序是否可以读取此File引用的文件

    public boolean canRead() 

    //测试应用程序是否可以写入此File引用的文件

    public boolean canWrite()

    //用此File指定的名称,在当前位置创建一个新文件   

    public boolean createNewFile()  throws IOException

    //删除此File引用的文件或者目录

    public boolean delete()

    //创建以此File命名的目录

    public boolean makeDir()

    //测试File是否引用了文件

    public boolean isFile()

    //测试File是否引用了目录

    public boolean isDirectory()
    
    //测试此File表示的文件是否存在,如果存在返回File对象的数组,不存在则返回NULL

    public File[] listFiles() 

4.File类的缺点

许多方法不能抛出异常,delete方法经常会莫名其妙的失败,rename方法无法在不同的系统中保持一致



版权声明:本文为jyheasy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。