能否使用BufferedReader从文本文件读取数据,同时在读取的过程中将读取到的行保存到另一个文本文件中,使用PrintWriter实现?
能否使用BufferedReader从文本文件读取数据,同时在读取的过程中将读取到的行保存到另一个文本文件中,使用PrintWriter实现?
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();
}
}
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();
可以的。打开BufferedReader
,然后创建一个PrintWriter
。你可以在写入writer的同时从流中读取。
FileChannel
并使用.transfer{From,To}()
方法呢? - fge