Skal vi lukke InputStream i Java?
Skal vi lukke InputStream i Java?

Video: Skal vi lukke InputStream i Java?

Video: Skal vi lukke InputStream i Java?
Video: My CHEAP 1000HP Corvette ZR1 Build BLEW UP In My Face.. 2024, Kan
Anonim

2 svar. Du skal lukke det input Stream , fordi strømmen, der returneres af den metode, du nævner, faktisk er FileInputStream eller en anden underklasse af InputStream der holder et håndtag til en fil. hvis du gør ikke tæt denne stream dig har ressourcelækage.

Hvis du tager dette i betragtning, er det nødvendigt at lukke InputStream i Java?

Men inputstrøm s er aldrig lukket. Dette er en selvstændig Java programmer, og der er flere sådanne programmer, hvor InputStream er aldrig lukket. Normalt vil filen blive lukket, når InputStream objekt er affald indsamlet, eller når programmet slutter. Det er normalt ikke en god idé at lade tingene stå åbne på denne måde.

Og hvorfor skal vi lukke streams i Java? Det er vigtigt at lukke vandløb , for at frigive fildeskriptor, der holdes af denne klasse, som dens begrænsede ressource og bruges i både socketforbindelse og filhåndtering. En alvorlig ressourcelækage kan også resultere i en undtagelse for filbeskrivelser.

For det andet, skal jeg lukke FileInputStream?

Ja dig skal lukke inputstrømmen, hvis du vil have dine systemressourcer frigivet tilbage. FileInputStream . tæt () er hvad du brug for . Heller ikke dig skal lukke (), eller afslut dit program.

Skal jeg lukke ByteArrayInputStream?

4 svar. Det behøver du ikke luk ByteArrayInputStream , i det øjeblik den ikke refereres af nogen variabel, vil garbage collector frigive streamen og nogle bytes (naturligvis forudsat at de ikke er refereret et andet sted).

Anbefalede: