File是用来操作电脑中的文件与文件夹的类。但是不可对文件里的数据进行操作。
它把文件和文件夹封装成对象进行操作。
它的构造方法是:File file=new File(pathname);
pathname是字符串类型,它是文件或文件夹的在计算机中的路径,必须是带盘符(C盘,D盘,E盘,F盘)的绝对路径,例如: D:\abc\test\Demo.java。它可以是存在的或不存在的路径。
File常用的方法:
删除和创造
public boolean createNewFile():当且仅当该文件不存在时,创建一个新文件。返回True表示创建成功,返回false表示已有该文件。 如果报错Java.io.IOException,则表示路径错误。 public boolean delete():删除由此File表示的文件或目录。 public boolean mkdir():创建由此File表示的目录。 public boolean mkdirs():包括任何必须但不存在的父目录。
通过这段代码,成功在D盘里新建了一个文件夹aaa
如果我们想要创建多个嵌套的文件夹
D:\\aaa\\bbb\\ccc
此时,就会显示生成失败
这是因为mkdir只生成file类表示的文件夹,即路径最后的ccc文件夹,中间的bbb文件夹是不存在的,所以生成失败。这时候使用mkdirs()方法就能将不存在的bbb文件夹一起生成
然后在文件夹里添加一个文件
再调用删除方法
文件夹里的txt文件已不复存在。
判断功能
public boolean exists():如果File对象中的文件或文件夹在硬盘上存在则返回true,否则返回false; public boolean isDirectory():是否为指定的文件夹,是则返回true,否则返回false public boolean isFile():是否为指定的文件,是则返回true,否则返回false
通过之前的操作我们创建了aaa,bbb,ccc三个嵌套的文件夹,但并未创建文件所以此时file.isFile()的返回结果为False
列举功能
public String[] list()
:返回一个String数组,表示该File目录中的所有子文件或目录。
public File[] listFiles()
:返回一个File数组,表示该File目录中的所有的子文件或目录。这两个方法都能实现将指定路径里的数据储存的功能,只是存储的数据类型不同,要根据实际情况来选择有利的方法
这里引用一个程序来解释: