类初识
File是java中文件管理工具类,主要负责文件和目录的相关操作。
JDK1.8中对其描述如下:
1 | * An abstract representation of file and directory pathnames. |
需要指出的是 ,File对象并不一定是一个实际存在的物理对象,它仅表示对指定path的文件或目录的抽象描述;最终生成文件和目录,还得依赖于相关的成员函数如createNewFile()或mkdir()等。
所在包
File类位于java.io包下,使用时需要导包。
构造函数
File共有6个构造方法,其中2个为私有构造方法,主要供其类部使用,这里不谈;剩余的4个公有构造函数,详情见下表所示:
| 构造方法名 | 介绍 |
|---|---|
| File(File parent, String child) | 通过父目录File对象和待创建目录或文件名,生成一个File对象 |
| File(String parent, String child) | 通过父目录名和待创建目录或文件名,生成一个File对象 |
| File(String pathname) | 通过指定完整路径名,生成一个File对象 |
| File(URI uri) | 通过指定完整路径的URI,生成一个File对象 |
常用成员方法
由于File类中方法比较多,我们这里简单地分类如下:
- 负责创建文件和目录的方法
| 创建的方法 | 描述 |
|---|---|
| boolean createNewFile() | 创建新文件 |
| boolean mkdir() | 创建新单级目录 |
| boolean mkdirs() | 创建新多级目录 |
- 负责删除文件和目录的方法
| 删除的方法 | 描述 |
|---|---|
| boolean delete() | 删除指定文件和目录(目录必须为空) |
- 负责获取文件和目录属性的方法
| 获取的方法 | 描述 |
|---|---|
| File getAbsoluteFile() | 获取绝对路径的File对象 |
| String getAbsolutePath() | 获取File对象的绝对路径 |
| String getParent() | 获取File对象的父路径 |
| File getParentFile() | 获取File对象的父File对象 |
| String getName() | 获取文件或目录名称 |
| String getPath() | 获取文件或目录创建时指定的路径(绝对或相对路径) |
| long lastModified() | 以毫秒值返回文件或目录最后修改时间 |
| long length() | 返回文件的字节数 |
- 负责判断文件和目录行为的方法
| 判断的方法 | 描述 |
|---|---|
| boolean exists() | 判断文件或目录是否存在 |
| boolean isAbsolute() | 判断文件或目录路径是否为绝对路径 |
| boolean isDirectory() | 判断是否为目录对象 |
| boolean isFile() | 判断是否为文件对象 |
| boolean isHidden | 判断是否为隐藏文件或目录 |
- 负责修改文件和目录属性的方法
| 修改的方法 | 描述 |
|---|---|
| boolean renameTo(File dest) | 将文件或目录路径修改为dest的路径 |
除此之外,有一些与文件遍历有关的方法,我们需重点掌握,总结如下:
| 遍历的方法 | 描述 |
|---|---|
| String[] list() | 获取目录下所有文件和目录,以String类型返回 |
| File[] listFiles() | 获取目录下所有文件和目录,以File类型返回 |
| File[] listRoots() | 获取文件系统的根目录,win下为盘符,linux下为“\”,以File类型返回 |