Java基础:文件读写操作详解及示例

3星 · 超过75%的资源 需积分: 16 16 下载量 149 浏览量 更新于2024-09-27 收藏 1KB TXT 举报
Java 文件读写操作是 Java 编程中不可或缺的基础技能,尤其是在处理文本文件和二进制数据时。本文将详细介绍如何在不同版本的 Java(JDK 1.0 和 JDK 1.1)中使用各种类进行文件操作。 1. JDK 1.0 时代的输入/输出流 在早期的 Java (JDK 1.0) 中,文件读写主要依赖于 `InputStream` 和 `OutputStream` 作为基础类。`FileInputStream` 是一个用于读取文件的抽象类,它实现了 `InputStream` 接口,提供了一种低级的、面向字节的读取方式。例如: ```java FileInputStream fstream = new FileInputStream(args[0]); DataInputStream in = new DataInputStream(fstream); String line; while ((line = in.readLine()) != null) { // 处理每一行数据 } in.close(); // 关闭流以释放系统资源 ``` `FileOutputStream` 则用于将数据写入文件,如: ```java FileOutputStream out = new FileOutputStream("myfile.txt"); PrintStream p = new PrintStream(out); p.println("Hello, World!"); // 打印内容 p.close(); // 关闭输出流 ``` 这两个类的操作较为底层,适合处理二进制数据,对于文本处理可能不太直观。 2. JDK 1.1 的改进:引入字符流 随着 Java 1.1 的发布,引入了 `Reader` 和 `Writer` 类,它们提供了更高层次的、面向字符的读写接口,这使得处理文本文件更加方便。例如,使用 `FileReader` 和 `BufferedReader` 可以实现以下操作: ```java FileReader fr = new FileReader("mydata.txt"); BufferedReader br = new BufferedReader(fr); String line; while ((line = br.readLine()) != null) { // 处理文本行 } br.close(); // 关闭缓冲流 fr.close(); // 关闭底层流 ``` `FileWriter` 和 `PrintWriter` 也对应地提供了字符级别的写入功能: ```java FileWriter fw = new FileWriter("mydata.txt"); PrintWriter out = new PrintWriter(fw); out.println("This is a text file."); // 打印文本 out.close(); // 关闭输出流 fw.close(); // 关闭文件流 ``` 这些字符流类在处理文本文件时提供了更好的可读性和易用性,比如自动处理换行符和编码问题。 总结起来,Java 文件读写操作根据版本的不同,经历了从低级字节流到高级字符流的进化。在选择合适的工具时,需要考虑数据类型(二进制还是文本)、性能需求以及处理的复杂性。熟练掌握这些基础操作是进行Java 文件操作的基础,后续在实际开发中可以进一步探索 `RandomAccessFile`、`BufferedWriter`、`FileChannel` 等高级特性,以满足更复杂的文件处理需求。