首页  >  文章  >  Java  >  Java I/O流如何进行字符串操作?

Java I/O流如何进行字符串操作?

PHPz
PHPz原创
2024-04-13 12:06:021046浏览

Java I/O 流提供了 Reader 和 Writer 类处理字符串数据。Reader 用于从字符输入流读取文本,可以使用 read() 方法读取单个字符。Writer 用于将文本写入字符输出流,可以使用 write() 方法写入文本。

Java I/O流如何进行字符串操作?

Java I/O 流中的字符串操作

Java I/O 流提供了强大的功能来处理字符串数据。通过使用 ReaderWriter 类,您可以方便地从各种源读取字符串并写入各种目标。

Reader

Reader 类用于从字符输入流中读取文本数据。您可以使用以下方法来处理字符串:

// 从 FileInputStream 中读取字符串
try (InputStreamReader reader = new InputStreamReader(new FileInputStream("input.txt"))) {
    StringBuilder sb = new StringBuilder();
    int c;
    while ((c = reader.read()) != -1) {
        sb.append((char) c);
    }
    String text = sb.toString();
} catch (IOException e) {
    e.printStackTrace();
}

Writer

Writer 类用于将文本数据写入字符输出流。您可以使用以下方法来处理字符串:

// 向 FileWriter 中写入字符串
try (FileWriter writer = new FileWriter("output.txt")) {
    String text = "Hello, world!";
    writer.write(text);
    writer.flush();
} catch (IOException e) {
    e.printStackTrace();
}

实战案例:从文件中读取和写入字符串

考虑这样一个场景:您有一个文本文件 input.txt,其中包含一些文本。您希望读取文件内容,并将内容复制到另一个文本文件 output.txt 中。

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

class FileCopy {
    public static void main(String[] args) {
        try {
            // 从 input.txt 中读取
            File inputFile = new File("input.txt");
            FileReader reader = new FileReader(inputFile);
            BufferedReader bufferedReader = new BufferedReader(reader);

            // 向 output.txt 中写入
            File outputFile = new File("output.txt");
            FileWriter writer = new FileWriter(outputFile);

            String line;
            while ((line = bufferedReader.readLine()) != null) {
                writer.write(line + "\n");
            }

            reader.close();
            writer.close();
            System.out.println("文件已复制完成。");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上是Java I/O流如何进行字符串操作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn