(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方法无法在不同的系统中保持一致