7

是否可以使用 BufferedReader 从文本文件中读取,然后在缓冲读取器读取的同时,它还使用 PrintWriter 将读取的行存储到另一个 txt 文件中?

4

4 回答 4

6

如果您使用 Java 7 并希望将一个文件直接复制到另一个文件中,则非常简单:

final Path src = Paths.get(...);
final Path dst = Paths.get(...);
Files.copy(src, dst);

如果您想逐行读取并再次写入,请使用srcdst上述相同的方式,然后执行:

final BufferedReader reader;
final BufferedWriter writer;
String line;

try (
    reader = Files.newBufferedReader(src, StandardCharsets.UTF_8);
    writer = Files.newBufferedWriter(dst, StandardCharsets.UTF_8);
) {
    while ((line = reader.readLine()) != null) {
        doSomethingWith(line);
        writer.write(line);
        // must do this: .readLine() will have stripped line endings
        writer.newLine();
    }
}
于 2013-07-12T20:37:50.437 回答
3

直接回答你的问题:

你可以,你也可以使用 BufferedWriter 来做到这一点。

BufferedReader br = new BufferedReader(new FileReader(new File("Filepath")));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("Filepath")));
String l;
while((l=br.readLine())!=null){

    ... do stuff ...

    bw.write("what you did");

}

bw.close();
于 2013-07-12T19:58:25.317 回答
1

如果您只需要在不检查数据的情况下进行复制,那么它就是一条线:
IOUtils.copy(reader, printWriter);

于 2013-11-01T16:24:45.303 回答
0

是的。打开BufferedReader,然后创建一个PrintWriter. 您可以在写入写入器时从流中读取。

于 2013-07-12T19:27:43.093 回答