Hem de tancar InputStream a Java?
Hem de tancar InputStream a Java?

Vídeo: Hem de tancar InputStream a Java?

Vídeo: Hem de tancar InputStream a Java?
Vídeo: Java Tech Talk: Telegram бот на java за 1 час 2024, Maig
Anonim

2 respostes. Vostè cal tancar el flux d'entrada , perquè el flux retornat pel mètode que esmenteu és en realitat FileInputStream o alguna altra subclasse InputStream que conté un mànec per a un fitxer. Si tu fer no Tanca aquest corrent tu tenir fuga de recursos.

Tenint-ho en compte, és necessari tancar InputStream a Java?

Però el flux d'entrada s mai es tanca. Això és un autònom Java programes i hi ha diversos d'aquests programes on el InputStream mai està tancat. Normalment, el fitxer es tancarà quan InputStream L'objecte és la recollida d'escombraries o quan finalitza el programa. Normalment no és una bona idea deixar les coses obertes així.

A més, per què hem de tancar els fluxos a Java? És important tancar rierols , per alliberar el descriptor de fitxers que té aquesta classe, com a recurs limitat i utilitzat tant en la connexió de sòcols com en la gestió de fitxers. Una filtració greu de recursos també pot provocar una excepció del descriptor de fitxers.

En segon lloc, he de tancar FileInputStream?

Sí, tu cal tancar el flux d'entrada si vostè voler els recursos del vostre sistema s'han alliberat de nou. FileInputStream . Tanca () és el que tu necessitat . Tu tampoc cal tancar (), o finalitza el programa.

He de tancar ByteArrayInputStream?

4 respostes. No cal tanca ByteArrayInputStream , en el moment en què no hi fa referència cap variable, el col·lector d'escombraries alliberarà el flux i alguns bytes (per descomptat, suposant que no es facin referència a cap altre lloc).

Recomanat: