BufferedReader then write to txt file?

家住魔仙堡 提交于 2019-12-10 13:11:58

问题


Is it possible to use BufferedReader to read from a text file, and then while buffered reader is reading, at the same time it also storing the lines it read to another txt file using PrintWriter?


回答1:


If you use Java 7 and want to copy one file directly into another, it is as simple as:

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

If you want to read line by line and write again, grab src and dst the same way as above, then do:

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();
    }
}



回答2:


To directly answer your question:

you can, and you can also use BufferedWriter to do so.

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();



回答3:


Yes. Open the BufferedReader, and then create a PrintWriter. You can read from the stream as you write to the writer.




回答4:


If you just need to copy without inspecting the data, then it's a one liner:
IOUtils.copy(reader, printWriter);



来源:https://stackoverflow.com/questions/17622324/bufferedreader-then-write-to-txt-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!