Java-IO流

发布于:2025-07-14 ⋅ 阅读:(15) ⋅ 点赞:(0)

IO(Input/Output)流用于处理程序的数据输入和输出。

Java 中的 IO 以“流”的形式来处理数据的传输,本质是一组用于读/写数据的

IO流按数据类型分为:字节流和字符流。

类型 抽象基类 说明
字节流 InputStream / OutputStream 处理所有类型数据(文本、图片、视频等)
字符流 Reader / Writer 专门用于处理文本数据(字符)

今天我们主要学习字符流中的Reader和Writer。

在 Java 中,Reader和Writer是用于字符流处理的两个核心抽象类,属于 java.io 包,专门用来处理 文本文件(字符数据) ,而不是字节(如图片、视频)。

写入文件代码示例:

import java.io.FileWriter;
import java.io.IOException;

public class WriterExample {
    public static void main(String[] args) {
        try (FileWriter writer = new FileWriter("output.txt")) {
            writer.write("你好,Java字符流!\n");
            writer.write("这是第二行。");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

读取文件代码示例:

import java.io.FileReader;
import java.io.IOException;

public class ReaderExample {
    public static void main(String[] args) {
        try (FileReader reader = new FileReader("output.txt")) {
            int c;
            while ((c = reader.read()) != -1) {
                System.out.print((char) c); // 强制转换为字符输出
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 其中,需要注意文件的相对路径和绝对路径。如果在 Java 中尝试读取或写入一个目录下的文件,但目录还不存在,需要先创建目录,否则会抛出FileNotFoundException或IOException,而当写入文件不存在时,会自动创建文件并写入内容,无需额外操作。

其常见子类如下

类名 类型 说明
FileReader Reader 读取字符文件(只能读取)
FileWriter Writer 写入字符文件(只能写)
BufferedReader Reader 缓冲读取,支持 readLine()
BufferedWriter Writer 缓冲写入,支持 newLine()
PrintWriter Writer 类似 System.out,可格式化写入字符串(最常用)

 以上就是对Java-IO流中的Reader和Writer类的学习,如有错误,欢迎指正!


网站公告

今日签到

点亮在社区的每一天
去签到