1. File 概述
File 对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径。
这个路径可以是存在的,也可以是不存在的。
2. File 的构造方法
方法名称 | 说明 |
---|---|
public File(String pathname) | 根据路径字符串,创建对象 |
public File(String parent, String child) | 根据父级路径字符串和子级路径字符串,创建对象 |
public File(File parent, String child) | 根据父级路径File和子级路径字符串,创建对象 |
可以直接通过字符串创建 File,也可以在已知 File 的基础上创建子 File。
代码示例:
- 根据路径字符串,创建对象(
字符串 -> File
)// 文件路径名 String pathname1 = "D:\a.txt"; File file1 = new File(pathname1); // 文件路径名 String pathname2 = "D:\a\b.txt"; File file2 = new File(pathname2);
- 根据父级路径字符串和子级路径字符串,创建对象(
字符串 + 字符串 -> File
)// 通过父路径和子路径字符串 String parent = "d:\a"; String child = "b.txt"; File file3 = new File(parent, child); // windows:\ linux: / File file3 = new File(parent + "\" + child);
- 根据父级路径File和子级路径字符串,创建对象(
File + 字符串 -> File
)// 通过父级File对象和子路径字符串 File parentDir = new File("d:\a"); String child = "b.txt"; File file4 = new File(parentDir, child);
3. File 的成员方法
3.1 创建、删除
方法名称 | 说明 |
---|---|
public boolean createNewFile() | 创建一个新的空的文件(已存在返回false)如果父级路径不存在,方法会有异常。创建的是一个文件,若路径中不含后缀名,则创建一个没有后缀的文件。 |
public boolean mkdir() | 创建单级文件夹(make directory)路径是唯一的,若路径存在,返回false。 |
public boolean mkdirs() | 创建多级文件夹。(可以创建单级文件夹,一般用这个) |
public boolean delete() | 删除文件、空文件夹(不走回收站,删了就没了) |
3.2 判断
方法名称 | 说明 |
---|---|
public boolean exists() | 判断此路径名表示的Flie是否存在 |
public boolean isDirectory() | 判断此路径名表示的File是否是文件夹 |
public boolean isFile() | 判断此路径名表示的File是否是文件 |
3.3 获取
方法名称 | 说明 |
---|---|
public String getAbsolutePath() | 返回文件的绝对路径 |
public String getPath() | 返回定义文件时使用的路径 |
public String getName() | 返回文件的名称,带后缀。文件夹不带后缀。 |
public long length() | 返回文件的大小。只能获取文件的大小,单位字节。若获取文件夹大小,计算每一个文件大小。 |
public long lastModified() | 返回文件的最后修改时间(时间毫秒值) |
3.4 获取并遍历
方法名称 | 说明 |
---|---|
public File[] listFiles() | 获取当前路径下所有内容 |
public String[] list() | 返回一个String数组,只能获取名字 |
listFiles():
- 当调用者File表示的路径不存在时,返回null。
- 当调用者File表示的路径是文件时,返回null。
- 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组。
- 当调用者File表示的路径是一个有内容的文件夹时时,将里面所有文件和文件夹的路径放在File数组中返回。
- 当调用者File表示的路径是一个有隐藏文件的文件夹时时,将里面所有文件和文件夹的路径放在File数组中返回,包括隐藏文件。
- 当调用者File表示的路径是需要权限才能访问的文件夹时时,返回null。