此处将详细介绍 Java 中的文件输入输出相关知识。
1. Java 文件输入输出概述
在 Java 中,文件输入输出(I/O)操作主要通过 java.io 包和 java.nio 包来实现。java.io 包提供了传统的流(Stream)操作,而 java.nio 包提供了更高效的非阻塞 I/O 操作。
2. 使用 java.io 进行文件读取
2.1 使用 FileReader 读取文本文件
FileReader 是用于读取字符文件的便捷类,以下是一个简单的示例:
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample {
public static void main(String[] args) {
try (FileReader reader = new FileReader("example.txt")) {
int character;
while ((character = reader.read()) != -1) {
System.out.print((char) character);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码使用 `FileReader` 逐字符读取文件内容,直到文件结束(返回 -1)。
2.2 使用 BufferedReader 提高读取效率
为了提高读取效率,可以使用 `BufferedReader` 包装 `FileReader`:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
`BufferedReader` 可以一次读取一行文本,减少了 I/O 操作次数,提高了读取效率。
3. 使用 java.io 进行文件写入
3.1 使用 FileWriter 写入文本文件
FileWriter 是用于写入字符文件的便捷类,以下是一个简单的示例:
import java.io.FileWriter;
import java.io.IOException;
public class FileWriteExample {
public static void main(String[] args) {
try (FileWriter writer = new FileWriter("output.txt")) {
writer.write("Hello, Java File I/O!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码使用 `FileWriter` 将字符串写入文件。
3.2 使用 BufferedWriter 提高写入效率
为了提高写入效率,可以使用 `BufferedWriter` 包装 `FileWriter`:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterExample {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
writer.write("Hello, Java File I/O!");
writer.newLine();
writer.write("This is a new line.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
`BufferedWriter` 可以缓冲数据,减少了 I/O 操作次数,提高了写入效率。
返回目录