В этой и предыдущей задачах пытался вынести чтение имени файлов с консоли в один метод. Часть кода приведена ниже.
Но при повторном вызове метода getName() чтение с консоли не происходит, соответственно при создании объекта BufferWriter выскакивает ошибка.
Пишет "java.io.IOException: Stream closed".
Может кто подскажет в чем проблема. В дебагере вроде как при повторном вызове BufferedReader r ссылается на новый объект(что конечно ожидаемо),
а вот почему вдруг этот новый поток оказывается закрытым? Что-то никак догнать не могу.
public static void main(String[] args) throws IOException{
String fileToRead = getName();
String fileToWrite = getName();
BufferedReader reader = new BufferedReader(new FileReader(fileToRead));
BufferedWriter writer = new BufferedWriter(new FileWriter(fileToWrite));
}
public static String getName(){
String fileName = "";
try {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
fileName = r.readLine();
r.close();
}
catch (IOException e){e.printStackTrace();}
return fileName;
}