- File类 的概述: java.io.File类
文件和目录路径名的抽象表示形式
Java把电脑中文件和文件夹(目录)封装成了一个File类,我们可以使用File类对文件和文件夹进行操作
我们可以使用的File类的方法:
创建一个文件/文件夹
删除一个文件/文件夹
获取一个文件/文件夹
判断一个文件/文件夹
对文件夹进行遍历
File 类遍历(文件夹)目录功能
File类是一个与系统无关的类,任何操作系统都可以使用这个类
note:牢记这三个单词:file(文件) directory(文件夹/目录) path(路径)
-
File类的静态成员变量:
String pathSeparator 与系统有关的路径分隔符有关,为了方便,他被表示称为一个字符串
char pathSeparator 与系统有关的路径分隔符String separator 与系统有关的默认名称的分隔符,为了方便,他被表示成为一个字符串
char separator 与系统有关的默认名称的分隔符操作路径:路径不能写死了,因为有的平台是Windows,有的是linux
C:\develop\a\a.txt windows
C:/develop/a/a.txt linux
“C:”+File.separator+“develop”+File.separator+“a”+File.separator+“a.txt”Demo如下:
public static void main(String[] args) {
String pathSeparator =File.pathSeparator;
System.out.println(pathSeparator);//路径名称分隔符:windows ; linux :
String separator=File.separator;
System.out.println(separator);//文件名称分隔符: windows:\ linux /
}
- 路径
绝对路径:是一个完整的路径
相对路径:是一个简化的路径
注意:1、路径是不区分大小写
2、路径中的文件名分隔符Windows使用反斜杠,反斜杠是转义字符,两个反斜杠代表一个普通的反斜杠
Demo如下所示:
public static void Demo02() {
File file =new File("F:/workplace/shujia/src/IO/aaa");
System.out.println(file);
File file01=new File("./src/IO/aaa");
System.out.println(file01);
}
note:在我的测试当中,两个反斜杠和一个正斜杠的作用是一样的,输出的文件路径都是:
F:\workplace\shujia\src\IO\aaa
.\src\IO\aaa
-
File类中的获取方法 :
public String getAbsolutePath():返回此File的绝对路径名字字符串
获取的构造方法中传递的路径
无论路径是绝对的还是相对的,getAbsolutePath 方法返回的都是绝对路径public String getPath()将此File转换为路径名字符串
构造方法中传递的是相对路径,就返回相对路径,绝对路径就返回绝对路径
注意:File类中的toString方法就是与getPath一样public String getName():返回由此File表示的文件或目录的名称
获取的就是构造方法传递路径的结尾部分(文件/文件夹)public long length():返回由此File表示的文件的长度
获取的是构造方法指定的文件的大小,以字节为单位注意:
文件夹是没有大小概念的,不能获取文件夹的大小
如果构造方法中给出的路径不存在,那么length方法返回0
-
File中判断功能的方法:
public boolean exists() 此File表示的文件或目录是否存在
public boolean isDirectory() 此File表示是否为目录
public boolean isFile() 此File表示的是否为文件
-
File类创建和删除功能的方法:
public boolean creatNewFile():该名称的文件尚不存在的情况下,创建一个新的空文件
创建文件的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件不存在,创建文件,返回true
false:文件存在,不会创建,返回false
注意:1、此方法只能创建文件,不能创建文件夹
2、创建文件的路径必须存在,否则会抛出异常public boolean creatNewFile()throws IOException
creatNewFile声明抛出了IOException,我们调用这个方法,就必须处理这个异常,要么throws,要么trycatchpublic boolean mkdir():创建单级空文件夹
public boolean mkdirs():既可以创建单级文件夹,也可以创建多级文件夹
创建文件夹的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件夹不存在,创建文件夹,返回true
false:文件夹存在,不会创建,返回false,构造方法中给出的路径不存在返回false
注意:此方法只能创建文件夹,不能创建文件
-
File 类遍历(文件夹)目录功能
public String [ ] List( ):返回一个String数组,表示该File目录中所有的子文件或目录
public File [ ] ListFile( ):返回一个File数组,表示该目录中所有的子文件或目录注意:
List方法和ListFile方法遍历的是构造方法中给出的目录
如果构造方法给出的目录的路径不存在,会报出空指针异常
如果构造方法中给出的路径不是一个目录、也会报空指针异常