BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String nameFile_1 = reader.readLine();
String nameFile_2 = reader.readLine();
reader = new BufferedReader(new FileReader(nameFile_1));
while (reader.ready()) {
allLines.add(reader.readLine());
}
reader = new BufferedReader(new FileReader(nameFile_2));
while (reader.ready()) {
forRemoveLines.add(reader.readLine());
}
reader.close();
Как правильно делать: каждый раз переопределять reader и потом закрыть поток в конце один раз (или закрывать каждый раз, перед переопределением), или создавать каждый раз новый поток типа: reader1, reader2 ... и закрывать каждый?
Halfar
22 уровень
Про закрытие потока
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alex
12 мая 2020, 18:27
Когда вы присваиваете переменной reader новое значение, те объекты, которые вы создали до этого с помощью слова new никуда не исчезли, а значит их все нужно закрыть.
+1
Алексей
12 мая 2020, 18:18решение
Каждый раз когда переопределяешь переменную, то создаешь утечку памяти не закрывая их. Получается в памяти остается ссылка на объект.
Лучше закрывать отдельно потоки. Использовать try-catch-finally или try-with-resources
+2
Halfar
12 мая 2020, 18:22
Спасибо!
0