且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

IO学习笔记(三)

更新时间:2022-10-10 20:12:37

13.  File 类

它既能代表一个文件的名称,又能代表一个目录下一组文件的名称。常用于对文件或文件夹的操作。

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

File(File parent,String child)   根据 parent 抽象路径名和 child 路径名字符串创建一个新File 实例

File(String pathname)    通过将给定路径名字符串转换为抽象路径名来创建一个新File 实例。

File(String parent,String child)   根据 parent 路径名字符串和 child 路径名字符串创建一个新File 实例。

File  file = new File("c:\\abc\\a.txt");-------File  file = new File("c:"+ File.separator +"abc"+ File.separator +"a.txt");  //比较通用

File  file = new File("c:\\abc","a.txt");

File f = new File("D:\\abc");

File file = new File(f,"a.txt");--------------这一构造的执行,并没有真正的创建了一个文件或文件夹。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

createNewFile()  当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件

File  file = new File("c:\\abc\\a.txt");

System.out.print(file.createNewFile());------------如果c:\\abc\\a.txt路径下的文件不存在,那么会返回true,如果已经存在或者创建失败,那么会返回false

boolean delete()  删除此抽象路径名表示的文件或目录

void deleteOnExit()  在虚拟机终止时,请求删除此抽象路径名表示的文件或目录-----在操作结束退出时删除

当我们创建一个文件,并且对这个文件进行操作,如果这一过程中出现异常,那么程序将终止,我们的delete()方法将不会被执行。

但是我们一定要删除这个文件,这时候就要使用deleteOnExit()方法,表示在程序对文件操作结束后,执行次命令,将文件删除。

File  file = new File("c:\\abc\\a.txt");

file.deleteOnExit();

code(对文件内容进行操作);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。 

boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 

booleanisHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件

File  file = new File("c:\\abc\\a.txt");

System.out.print(file.isDirectory()); -------false

System.out.print(file.isFile());          -------false

分析:因为File  file = new File("c:\\abc\\a.txt");这条语句是不创建文件或目录的,所以两种判断都为false,那么我们在执行这两种判断时,

有必要先进行判断对应的文件是否存在,如果不存在的话则没必要进行后续判断。

boolean exists()   测试此抽象路径名表示的文件或目录是否存在

boolean mkdir()   创建此抽象路径名指定的目录-----------------只能在现有目录的基础上创建一个级别的目录

boolean mkdirs()    创建此抽象路径名指定的目录,包括所有必需但不存在的父目录------------可以创建多级目录

boolean  isAbsolute() 测试此抽象路径名是否为绝对路径名------无论文件是否存在,只要是绝对路径该方法就会返回true。否则返回false

……………………………………………………………………………………………………………………………………………………………

 String  getPath()   将此抽象路径名转换为一个路径名字符串

 String getAbsolutePath()  返回此抽象路径名的绝对路径名字符串

File  file = new File(当这里是一个绝对路径的时候,上述两方法返回值相同);

 File  getAbsoluteFile()  返回此抽象路径名的绝对路径名形式。

 String  getParent()    返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null

File file = new File("D:\\IO\\abc.txt");
System.out.println("---:"+ file.getAbsoluteFile());                ---:D:\IO\abc.txt
System.out.println("---:"+file.getParent());                       
---:D:\IO
File file2 = new File("ac.txt");  
System.out.println("^^^:"+ file2.getAbsoluteFile());               ^^^:D:\IO\ac.txt
System.out.println("^^^:"+file2.getParent());                      ^^^:null

System.out.println("---:"+file.getPath());                                                                ---:D:\IO\abc.txt

System.out.println("---:"+file2.getPath());                                                              ---:ac.txt

*************************************************************************************************************************