Java 文本流
在Java中,文本流是处理文本数据的一种方式。文本流允许我们以字符的形式读写数据,而不是以字节的形式。
文本流的分类文本流主要分为JavaReader
和Writer
两种类型。Reader
读取字符数据,Writer
用于写入字符数据。
Reader
和Writer
它们都是抽象的,它们提供了一系列读写字符数据的方法。我们可以使用这些方法来处理文本文件、网络数据和其他字符数据。
Reader
类是所有读取字符数据的抽象基类。它定义了一些常用的方法,如read()
读取字符,close()
用于关闭流等。
FileReader
是Reader
该类的具体实现可用于读取文件中的字符数据。我们可以通过传输文件路径来创建一个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
是Reader
装饰类,它提供缓冲功能,可以提高读取字符数据的效率。我们可以传递一个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
类是所有写入字符数据的抽象基类。它定义了一些常用的方法,如write()
用来写字符,flush()
用于刷新缓冲区等。
FileWriter
是Writer
该类的具体实现可用于将字符数据写入文件中。我们可以通过传输文件路径来创建一个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
是Writer
装饰类,它提供缓冲功能,可以提高写入字符数据的效率。我们可以通过传输一个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处理文本数据的一种方式,它允许我们以字符的形式读取和写入数据。在