Не записывает данные в файл. Выбрасывает исключение
Задача - записать данные в файл. Файла 3 шт, и они лежат в коллекции pathsIn
. Идея - пройтись по всем paths и сделать записи. Закончить запись данных думал по кодовому слову "command".
public void fillTheFiles(ArrayList<Path> pathsIn) {
System.out.println("Введите входные данные:");
for (int i = 0; i < pathsIn.size(); i++) {
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(String.valueOf(pathsIn.get(i)))))
{
String command = "wr";
String line = null;
do {
line = bufferedReader.readLine();
bufferedWriter.append(line);
bufferedWriter.append("\n");
}
while (!line.equals(command));
} catch (IOException e) {
System.err.println("Can't write to file with path " + pathsIn.get(i));
}
}
}
Выбрасывается исключение:
Can't write to file with path C:\Users\Anna\OneDrive\Рабочий стол\Java\Shift\Shift\in.txt
Лог ошибок
java.io.IOException: Stream closed
at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
at CFT.Starter.fillTheFiles(Starter.java:137)
at CFT.Main.main(Main.java:8)
java.io.IOException: Stream closed
at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
at CFT.Starter.fillTheFiles(Starter.java:137)
at CFT.Main.main(Main.java:8)
java.io.IOException: Stream closed
at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
at CFT.Starter.fillTheFiles(Starter.java:137)
at CFT.Main.main(Main.java:8)
Process finished with exit code 0