File类概述
它是文件和目录路径名的抽象表示
文件和目录是可以通过File封装成对象的
对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而以。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的
File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。
IO流
可以将数据从本地文件中读取出来
可以将数据从内存保存到本地文件
那么为什么要引入File类呢?
在没有接触File类这个名词之前,输入输出数据都是在内存中进行,而内存是断电易失存储器,一但断开电源,存储在内存中的数据就会消失,因此为了让数据存储更久一点,JAVA引入了File类。
File类使用的前提
必须要知道文件的位置(文件路径),文件路径又有绝对路径和相对路径:
绝对路径:从盘符开始
File file1=new File("B:\\fileTest\\a.txt")
相对路径:相对于当前项目下的路径(项目名为根目录)
public static void main(String[] args) {
String path="src\\com\\zeus\\java\\b.txt";
File file=new File(path);
System.out.println(file.isFile());//判断抽象路径名表示的File对象是否为文件 true是 false不是
}
File类创建功能
注:mkdir必须要有一个父级的文件夹才能创建,否则会报错;mkdirs不论是否存在父级文件夹,都会根据抽象路径名来创建File文件或文件夹。
File类删除功能
删除目录的注意事项:
delete方法直接删除不走回收站。
如果删除的是一个文件,直接删除。
如果删除的是一个文件夹,需要先删除文件夹中的内容,最后才能删除文件夹。
File类的其他常用方法
File类高级获取功能
listFiles方法注意事项:
当调用者不存在时,返回null
当调用者是一个文件时,返回null
当调用者是一个空文件夹时,返回一个长度为0的数组
当调用者是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回
当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏内容
当调用者是一个需要权限才能进入的文件夹时,返回null