0
点赞
收藏
分享

微信扫一扫

java 文本流

前行的跋涉者 2023-08-06 阅读 67

Java 文本流

在Java中,文本流是处理文本数据的一种方式。文本流允许我们以字符的形式读取和写入数据,而不是以字节的形式。

文本流的分类

在Java中,文本流主要分为ReaderWriter两种类型。Reader用于读取字符数据,Writer用于写入字符数据。

ReaderWriter都是抽象类,它们提供了一系列的方法来读取和写入字符数据。我们可以使用这些方法来处理文本文件、网络数据和其他字符数据。

Reader 类

Reader类是所有读取字符数据的抽象基类。它定义了一些常用的方法,如read()用于读取字符,close()用于关闭流等。

FileReader

FileReaderReader类的一个具体实现,它可以用来读取文件中的字符数据。我们可以通过传递文件路径来创建一个FileReader对象。

示例代码:

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

public class FileReaderExample {
    public static void main(String[] args) {
        try (FileReader reader = new FileReader("example.txt")) {
            int data;
            while ((data = reader.read()) != -1) {
                System.out.print((char) data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们使用FileReader读取了名为example.txt的文件中的字符数据。我们使用while循环来逐个读取字符,直到读取到文件的末尾。

BufferedReader

BufferedReaderReader类的一个装饰器类,它提供了缓冲功能,能够提高读取字符数据的效率。我们可以通过传递一个Reader对象来创建一个BufferedReader对象。

示例代码:

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读取了文件中的每一行字符数据。我们使用readLine()方法来读取一行字符,直到读取到文件的末尾。

Writer 类

Writer类是所有写入字符数据的抽象基类。它定义了一些常用的方法,如write()用于写入字符,flush()用于刷新缓冲区等。

FileWriter

FileWriterWriter类的一个具体实现,它可以用来向文件中写入字符数据。我们可以通过传递文件路径来创建一个FileWriter对象。

示例代码:

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

public class FileWriterExample {
    public static void main(String[] args) {
        try (FileWriter writer = new FileWriter("example.txt")) {
            writer.write("Hello, World!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们使用FileWriter向名为example.txt的文件中写入了字符数据"Hello, World!"。

BufferedWriter

BufferedWriterWriter类的一个装饰器类,它提供了缓冲功能,能够提高写入字符数据的效率。我们可以通过传递一个Writer对象来创建一个BufferedWriter对象。

示例代码:

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("example.txt"))) {
            writer.write("Hello, World!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们使用BufferedWriter向文件中写入了字符数据"Hello, World!"。BufferedWriter会将数据先写入到缓冲区,当缓冲区满了或者我们调用了flush()方法时,数据才会被写入到文件中。

总结

文本流是Java中处理文本数据的一种方式,它可以让我们以字符的形式读取和写入数据。在

举报

相关推荐

0 条评论