я заметил в программе Java ниже линии используется, чтобы открыть файл и обработать егоЧто касается Java-файла закрытия
BufferedReader inp = new BufferedReader(new FileReader(inputFile));
В javaprogram ИЯФ не закрывается перед выходом из программы ниже линии недостающую
if (inp != null)
try {
inp.close();
} catch (IOException logOrIgnore) {}
Программа имеет выходы в большом количестве, но они не закрыли файл. Нужно ли мне всю эту линию ставить? Если я не закрою файл, когда программа выйдет, это будет проблемой. Закрывает ли сборщик мусора файл?
- BufferedReader передается другим методам или используется только в одном месте? –
Что значит «программа имеет выходы во многих местах»? Завершает ли программа использование System.exit()? Если это так, то попытка try/finally не будет работать. – Rahul
В отношении связанной заметки, я иногда очень хочу, чтобы Java «использовала» (a la C#). Он позволяет детерминировать удаление с гораздо меньшим количеством помех кода и поощряет The Right Thing. –