在掌握了多线程之后,接下来我们将把目光转向文件操作。这一节内容相对轻松,主要聚焦于 Java 中对文件的处理。
文件操作与 IO 基础
1. 认识文件
什么是文件?从广义上讲,它是操作系统进行资源管理的一种机制,许多软硬件资源都被抽象为'文件';狭义上则指保存在硬盘上的数据集合。
我们日常使用的文件夹,专业术语称为目录(Directory)。目录中可以包含子目录或文件,也可以为空。除了内容本身,目录还包含元数据信息。
为了高效管理大量文件,系统采用树形结构组织文件和目录。这种层级关系类似于多叉树,通过路径可以精确定位到任意节点。
文件路径(Path)
要准确找到文件,必须使用路径。例如:
C:\java_io_demo\test.png
这是绝对路径,从根目录开始直接定位到目标文件。
还有相对路径,它基于当前工作目录。例如,若当前目录是 C:\java_io_demo,则只需写 ./test.png 即可。其中 . 代表当前目录,.. 代表父目录。
文件类型补充
文件分为二进制文件和文本文件。计算机底层存储均为二进制,文本文件是通过编码规则(如 UTF-8、UTF-16)将二进制数据映射为字符。图片、视频、可执行程序通常为二进制文件;纯文本(.txt)、Java 源码(.java)属于文本文件;而 Word 文档等富文本格式本质上也是二进制文件。
2. Java 中的文件操作
Java 主要通过 java.io.File 类来描述文件和目录。需要注意的是,创建 File 对象并不代表该文件一定存在于磁盘上。
File 概述
File 类提供了一系列属性与方法来处理文件系统操作,主要包括目录创建、文件删除、重命名以及权限判断等。
常用属性
为了保证跨平台兼容性,Java 提供了分隔符常量:
| 属性 | 说明 |
|---|---|
pathSeparator | 路径列表分隔符(Linux/macOS 为 :,Windows 为 ;) |
separator | 文件路径分隔符(Linux/macOS 为 /,Windows 为 \) |
使用这些常量而非硬编码斜杠,能显著提高代码的移植性。
public class Demo {
public static void main(String[] args) {
System.out.println("Path Separator: " + File.pathSeparator);
System.out.println("File Separator: " + File.separator);
}
}
构造方法
可以通过字符串路径或父目录 + 子名称的方式构建 File 实例:
File(String pathname):根据路径创建。


