类初识
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类型返回 |