程序中变量、数组、对象、集合存储在内存中,断电后数据消失。持久化存储需将数据写入硬盘文件。即使数据库底层也通过文件存储,因此程序需能操作文件。
File 类是 Java 专门用于操作文件和文件夹(目录)的类。准确来说,File 只操作文件本身和文件夹(目录),但是不操作文件内的数据,读写文件内的数据需要通过 IO 流。
构造方法
File 对象指代文件和文件夹,无论这个文件和文件夹是否存在。文件和文件夹,在计算机中是通过文件路径进行表达。File 的实例,是映射某一个特定的文件或文件夹,因此 File 实例映射一个特定的文件路径。File 的构造方法也说明这一点:
public File(String pathname);
在使用文件路径时,有绝对路径和相对路径两种方式:
- 绝对路径:完整的路径,window 系统表现为从盘符开始的路径,比如
C:\user\projects\demo.txt,linux 和 MacOS 表现为从根目录/开始的路径,比如/user/projects/demo.txt - 相对路径:相对于当前工作目录的路径,表现为文件或文件夹开头,比如
demo.txt
public class App {
public static void main(String[] args) {
// 使用相对路径创建 File 对象
File f0 = new File("file.txt");
// 使用绝对路径创建 File 对象 (MacOS 操作系统)
File f1 = new File("/Users/zhongziqiang/IdeaProjects/demo1/file.txt");
}
}
Java 程序一般需要在不同计算机上运行,因此建议使用相对于项目的相对路径,这样代码迁移后无需更改代码即可运行。
由于不同操作系统的文件路径的文件层级分隔符不同,window 用反斜杠 \,而 Linux 和 MacOS 系统使用正斜杠 /,因此,文件路径中建议使用 File 类静态变量 separator,自动获取当前操作系统的分隔符。
public class App2 {
public static void main {
( + File.separator + );
}
}

