Java IO 流:字节流、字符流与缓冲

一、IO 分类

  • 字节流:InputStream/OutputStream,处理所有二进制(图片、文件);
  • 字符流:Reader/Writer,处理文本,自动处理编码。

二、常用类

// 读文本
try (BufferedReader br = new BufferedReader(new FileReader("a.txt"))) {
    String line;
    while ((line = br.readLine()) != null) { }
}
// 写文件
try (BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"))) {
    bw.write("hello");
}

三、缓冲与 try-with-resources

Buffered 类加缓冲减少磁盘 IO 次数,性能更好;配合 try-with-resources 自动关流,避免资源泄漏。文本务必指定字符集(如 UTF-8),否则跨平台乱码。