概述
File类是位于java.io下以抽象的方式表示文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录,该类实现了Serializable和Comparable接口,意味着该类支持序列化,并且实例对象可进行比较。
File类不能用于文件的内容访问。如果需要对文件内容进行访问需要依靠流。
File类API
1、常量
常量名 | 描述 |
---|
pathSeparator | 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 |
pathSeparatorChar | 与系统相关的路径分隔符 |
separator | 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。 |
separatorChar | 与系统相关的默认名称分隔符。 |
代码示例:
public class PathDemo01 {
public static void main(String[] args) {
System.out.println("名称分隔符:" + File.separatorChar);
System.out.println("名称分隔符:" + File.separator);
System.out.println("路径分隔符:" + File.pathSeparatorChar);
System.out.println("路径分隔符:" + File.pathSeparator);
}
}
运行结果:
名称分隔符:\
名称分隔符:\
路径分隔符:;
路径分隔符:;
补充:
Windows系统和Linux系统分隔符的区别
操作系统 | 名称分隔符 | 路径分隔符 |
---|
Windows系统 | \ | ; |
Linux系统 | / | : |
2、构造方法
构造方法 | 描述 |
---|
File(File parent, String child) | 从父抽象路径名和子路径名字符串创建新的 File实例。 |
File(String pathname) | 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 |
File(String parent, String child) | 从父路径名字符串和子路径名字符串创建新的 File实例。 |
File(URI uri) | 通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。 |
3、get方法
方法名 | 描述 |
---|
getName() | 返回由此抽象路径名表示的文件或目录的名称。 |
getPath() | 将此抽象路径名转换为路径名字符串。 |
getAbsolutePath() | 返回此抽象路径名的绝对路径名字符串。 |
getParentFile() | 返回此抽象路径名的父目录的抽象路径名,如果此路径名不指定父目录,则返回 null 。 |
getAbsoluteFile() | 返回此抽象路径名的绝对形式。 |
4、文件状态判断
方法名 | 描述 |
---|
exists() | 测试此抽象路径名表示的文件或目录是否存在。 |
isDirectory() | 测试此抽象路径名表示的文件是否为目录。 |
isFile() | 测试此抽象路径名表示的文件是否为普通文件。 |
isHidden() | 测试此抽象路径名命名的文件是否为隐藏文件。 |
canExecute() | 测试应用程序是否可以执行此抽象路径名表示的文件。 |
canRead() | 测试应用程序是否可以读取由此抽象路径名表示的文件。 |
canWrite() | 测试应用程序是否可以修改由此抽象路径名表示的文件。 |
5、创建、删除文件和文件夹
方法名 | 描述 |
---|
delete() | 删除由此抽象路径名表示的文件或目录。 |
createNewFile() | 当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件。 |
mkdir() | 创建由此抽象路径名命名的目录。 |
mkdirs() | 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。 |
6、列出子目录下的所有文件、目录
方法名 | 描述 |
---|
list() | 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。 |
list(FilenameFilter filter) | 返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。 |
listFiles() | 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 |
listFiles(FileFilter filter) | 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。 |
listRoots() | 列出可用的文件系统根。 |