1. Java文件操作基础与核心类库
Java文件处理能力是每个开发者必须掌握的核心技能之一。在Java标准库中,java.io和java.nio包提供了完整的文件操作支持。让我们从最基础的File类开始,逐步深入到更高级的文件处理技术。
File类是Java中最基础的文件操作类,它代表文件系统中的文件或目录路径。虽然名为File,但它既可以表示文件也可以表示目录。创建File对象并不会实际创建物理文件,它只是一个抽象表示:
java复制File file = new File("test.txt");
这个简单的代码片段创建了一个指向"test.txt"文件的引用,但此时磁盘上可能并不存在这个文件。要实际创建文件,需要调用createNewFile()方法:
java复制if(file.createNewFile()) {
System.out.println("文件创建成功");
} else {
System.out.println("文件已存在");
}
注意:File类中的许多方法都是平台相关的,特别是在路径分隔符方面。为了确保跨平台兼容性,建议使用File.separator而不是硬编码的"/"或""。
Java 7引入了全新的NIO.2 API(java.nio.file包),提供了更现代、更强大的文件操作方式。其中Path接口和Files类是新的核心:
java复制Path path = Paths.get("data", "test.txt");
Files.createDirectories(path.getParent()); // 创建父目录
Files.createFile(path); // 创建文件
NIO.2 API相比传统IO有几个显著优势:
- 更好的异常处理(使用特定的异常类型而非通用的IOException)
- 更丰富的文件属性访问
- 原子性操作支持
- 符号链接处理能力
- 文件系统事件监控
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文件读写操作详解
2.1 字节流与字符流的选择
Java提供了两种基本的文件读写方式:字节流和字符流。字节流(InputStream/OutputStream)直接操作原始字节,适合处理二进制文件如图片、视频等。
