是否可以使用BufferedReader从文本文件中读取,然后在缓冲读取器读取时,同时它还使用PrintWriter将读取的行存储到另一个txt文件中?
答案 0 :(得分:5)
如果您使用Java 7并希望将一个文件直接复制到另一个文件中,则可以这样简单:
final Path src = Paths.get(...);
final Path dst = Paths.get(...);
Files.copy(src, dst);
如果您想逐行阅读并再次书写,请按照与上述相同的方式抓取src
和dst
,然后执行以下操作:
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();
}
}
答案 1 :(得分: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();
答案 2 :(得分:0)
是。打开BufferedReader
,然后创建PrintWriter
。您可以在写入作者时从流中读取。
答案 3 :(得分:0)
如果您只是需要在不检查数据的情况下进行复制,那么它就是一个班轮:
IOUtils.copy(reader, printWriter);