Precisamos fechar InputStream em Java?
Precisamos fechar InputStream em Java?

Vídeo: Precisamos fechar InputStream em Java?

Vídeo: Precisamos fechar InputStream em Java?
Vídeo: Curso Java Completo - Aula 113: IO pt 06 InputStream e OutputStream 2024, Novembro
Anonim

2 respostas. Vocês precisa fechar a stream de entrada , porque o fluxo retornado pelo método que você mencionou é, na verdade, FileInputStream ou alguma outra subclasse de InputStream que contém uma alça para um arquivo. Se você Faz não fechar este stream você tenho vazamento de recursos.

Levando isso em consideração, é necessário fechar InputStream em Java?

Mas o fluxo de entrada s nunca é fechado. Este é um autônomo Java programas e existem vários programas onde o InputStream nunca é fechado. Normalmente, o arquivo será fechado quando o InputStream objeto é coletado como lixo ou quando o programa termina. Normalmente não é uma boa ideia deixar as coisas em aberto assim.

Além disso, por que devemos fechar streams em Java? É importante para córregos próximos , para liberar o descritor de arquivo mantido por esta classe, como seu recurso limitado e usado tanto na conexão de soquete quanto na manipulação de arquivo. Um sério vazamento de recursos também pode resultar em exceção do descritor de arquivo.

Em segundo lugar, preciso fechar o FileInputStream?

Sim você precisa fechar o fluxo de entrada se você quer seus recursos do sistema liberados de volta. FileInputStream . fechar () é o que você necessidade . Você também precisa fechar (), ou encerre seu programa.

Preciso fechar ByteArrayInputStream?

4 respostas. Você não tem que fechar ByteArrayInputStream , no momento em que não é referenciado por nenhuma variável, o coletor de lixo irá liberar o fluxo e alguns bytes (claro, supondo que eles não sejam referenciados em nenhum outro lugar).

Recomendado: