Нужно ли закрывать InputStream в Java?
Нужно ли закрывать InputStream в Java?

Видео: Нужно ли закрывать InputStream в Java?

Видео: Нужно ли закрывать InputStream в Java?
Видео: Java - урок 17.3 (inputStream, FileInputStream) 2024, Май
Anonim

2 ответа. Ты действительно нужно закрыть в входной поток , потому что поток, возвращаемый указанным вами методом, на самом деле является FileInputStream или каким-либо другим подклассом InputStream который содержит дескриптор файла. если ты делать нет близко этот поток вы имеют утечка ресурсов.

Учитывая это, нужно ли закрывать InputStream в Java?

Но входной поток s никогда не закрывается. Это автономный Джава программ и есть несколько таких программ, в которых InputStream никогда не закрывается. Обычно файл закрывается, когда InputStream объект собирается сборщиком мусора или когда программа завершается. Обычно оставлять такие вещи открытыми - не лучшая идея.

Кроме того, почему мы должны закрывать потоки в Java? Важно закрыть ручьи , чтобы освободить файловый дескриптор, удерживаемый этим классом, как его ограниченный ресурс и используемый как при соединении сокетов, так и при обработке файлов. Серьезная утечка ресурсов также может привести к исключению дескриптора файла.

Во-вторых, нужно ли закрывать FileInputStream?

Да ты нужно закрыть входной поток, если вы хотеть ваши системные ресурсы освобождены. FileInputStream . близко () это то, что ты необходимость . Вы либо нужно закрыть () или завершите вашу программу.

Мне нужно закрыть ByteArrayInputStream?

4 ответа. Вам не нужно закрыть ByteArrayInputStream , в тот момент, когда на него не ссылается какая-либо переменная, сборщик мусора освободит поток и несколько байтов (конечно, при условии, что на них нет ссылки в другом месте).

Рекомендуемые: