一、概述
java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。并且因为java.io.File类是抽象表示,任何操作系统都可以使用。
二、路径
- 绝对路径:是一个完整的路径,以盘符开头(如C:)。
- 相对路径:是一个简化的路径,相对于当前路径拼接。
- 注意:路径不区分大小写;Windows中路径分隔符使用两个反斜杠,因为转义字符的存在,两个反斜杠字符相当一一个反斜杠字符。
三、成员变量和构造方法
-
成员变量:
| 成员变量 | 描述 |
|
static String pathSeparator、 static char pathSeparatorChar |
路径分隔符字符,与系统相关,在Windows中是英文分号; 在Linux中是英文冒号: 。 前者和后者是一个东西,只是前者是字符串表示。 |
|
static String separator、 static char separatorChar |
文件名称分隔符,与系统有关,在Windows中是反斜杠\ 在Linux中是正斜杠/。 前者和后者是一个东西,只是前者是字符串表示。 |
|
注意:因为路径分隔符和文件名称分隔符因系统不同而不同,因此需要在不通过平台使用时,注意分隔符不要写死,可以获取分隔符后再拼接路径。 |
|
-
构造方法:
| 方法 | 描述 |
| File(String pathname) | 以文件名作为参数,创建File实例。 |
| File(String parent, String child) | 以父路径名字符串和子路径名字符串为参数,创建File实例。 |
| File(File parent, String child) | 以父路径File和子路径File作为参数,创建File实例。 |
| 注意:创建File对象,只是把给定路径或文件抽象封装,因此并不在意路径的真实性(可存在可不存在)、路径可文件可文件夹、可绝对路径可相对路径。 | |
三、常用方法
功能类型
|
方法
| 描述 |
|---|---|---|
创建
|
public boolean createNewFile() |
当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件。 注意:①路径要求真实存在,否则会报IOException异常。 |
| public boolean mkdir() |
创建单级空文件夹。单级:如"pp\\temp"。 如果路径不存在就去创建,返回true,如果该路径已存在或路径错误,返回false。 注意: 此方法只能创建文件夹,不能创建文件,即使加文件后缀名也不行,也只会是有后缀名的文件夹。 |
|
public boolean mkdirs()
|
创建单级或多级空文件夹。 |
|
删除
|
public boolean delete()
|
删除指定的文件或文件夹。 |
获取
|
public String getAbsolutePath()
|
返回此File表示的绝对路径字符串。 无论构造函数的参数路径的是绝对路径还是相对路径,此方法返回的都是绝对路径。 |
public String getPath()
|
将此抽象路径名转换为路径名字符串。 即获取构造函数传入的路径,传入绝对路径则返回绝对路径,传入相对路径则返回相对路径。 |
|
public String getName()
|
返回由此抽象路径名表示的文件或目录的名称。 即获取构造参数传入的路径的结尾部分(文件/文件夹)。 |
|
public int length()
|
返回由此抽象路径名表示的文件的长度。 如果是文件,则返回其大小,以字节为单位;如果给出的路径不存在或者是文件夹,则返回0。 |
|
判断
|
public boolean exists()
|
测试此抽象路径名表示的文件或目录是否存在。 如果存在,则返回true;如果不存在,则返回false。 |
public boolean isDirectory()
|
测试此抽象路径名表示的文件是否为目录。 即判断构造方法中给定的路径是否以目录结尾,是则返回true,否则返回false。 注意:①路径不存在也返回false,所以使用前最好判断一下是否存在。 ②电脑中只有文件/文件夹,该方法和 isFile() 互斥。
|
|
public boolean isFile()
|
测试此抽象路径名表示的文件是否为文件。 即判断构造方法中给定的路径是否以文件结尾,是则返回true,否则返回false。 注意:①路径不存在也返回false,所以使用前最好判断一下是否存在。 ②电脑中只有文件/文件夹,该方法和 isDirectory() 互斥。
|
|
遍历
|
public String[] list()
|
返回一个字符串数组String[],命名由此抽象路径名表示的目录中的文件和目录。 注意:①返回相对路径。 ②只表示一级,也就是当前位置下的文件和文件夹,不再深入。如果要递归目录,可以自行编写方法。
|
public File[] listFiles()
|
返回一个抽象路径名数组File[],表示由该抽象路径名表示的目录中的文件。 注意:①返回绝对路径。 ②只表示一级,也就是当前位置下的文件和文件夹,不再深入。如果要递归目录,可以自行编写方法。 |
|
public String toString()
|
返回此抽象路径名的路径名字符串。 底层调用了该类的getPath(),返回值和getPath()一样。 |
浙公网安备 33010602011771号