Если поток был создан локально, обязательно ли его закрывать в конце метода?
public void method() {
FileInputStream fis = new FileInputStream("input.txt");
...
fis.close(); //Необходимо ли это?
}
Обязательно. При создании объект открывается для чтения и система должна знать, когда ресурс станет опять свободным. Также, в случае, если поток окажется не закрыт, может происходить утечка памяти.
Да, нужно закрывать, чтобы не было утечки памяти. Закрывая мы говорим сборщику мусора, что объект можно убирать. Если не хочется закрывать вручную, есть альтернатива: try-с-ресурсами
:
try (FileInputStream fis = new FileInputStream("input.txt")) {
//тут что-то делать с fis.
} catch(IOException e) {
// обработка исключений
} finally {
// финализация чего-либо
}
FileInputStream
будет закрыт автоматически. В самом простом случае от finally
можно отказаться совсем.
Leonis дело говорит. Причем крайне рекомендуется использовать именно try-с-ресурсами
(при Java 7 и выше) вместо закрытия вручную в блоке finally
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Ошибок никаких не выдаёт, просто возвращает nullQuery, посылаемый в базу данных, предполагается в виде Query = "SELECT * FROM users WHERE Login = "Login" AND Password = 12345;
Я разрабатываю свой редактор Web-кода и хочу чтобы при нажатии на определённый файл (а именно html, js, css и txt) открывался редактор (MainActivity) и в EditText...
Подскажите пожалуйста, что делаю неправильноПри запуске программы и ввода данных в форму, в debug значения имени и пароля пустые(фото ниже)