Можно ли использовать BufferedReader для чтения из текстового файла, а затем, пока буферизованный считыватель читает, в то же время он также сохраняет прочитанные строки в другой текстовый файл с помощью PrintWriter?
BufferedReader затем записывает в текстовый файл?
Ответы (4)
Если вы используете 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();
}
}
person
fge
schedule
12.07.2013
Чтобы напрямую ответить на ваш вопрос:
вы можете, и вы также можете использовать 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();
person
user2577773
schedule
12.07.2013
да. Откройте файл BufferedReader
, а затем создайте файл PrintWriter
. Вы можете читать из потока, когда пишете в модуль записи.
person
Chase
schedule
12.07.2013
Если вам просто нужно скопировать без проверки данных, тогда это будет одна строка:
IOUtils.copy(reader, printWriter);
person
Gili Nachum
schedule
01.11.2013
FileChannel
и использовать.transfer{From,To}()
? - person fge   schedule 12.07.2013