Java'da InputStream'i kapatmamız gerekiyor mu?
Java'da InputStream'i kapatmamız gerekiyor mu?

Video: Java'da InputStream'i kapatmamız gerekiyor mu?

Video: Java'da InputStream'i kapatmamız gerekiyor mu?
Video: 0'dan Yazılım : Java - Ders 8 - Java I/O (Input/Output) 2024, Mayıs
Anonim

2 Cevap. Sen kapatman gerek NS giriş Akışı , çünkü bahsettiğiniz yöntem tarafından döndürülen akış aslında FileInputStream veya başka bir alt sınıftır. Giriş Akışı bir dosya için bir tutamaç tutan. Eğer sen yapmak Olumsuz kapat bu akış seni Sahip olmak kaynak sızıntısı.

Bunu göz önünde bulundurarak, Java'da InputStream'i kapatmak gerekli mi?

Fakat giriş akışı s asla kapanmaz. Bu bağımsız Java programlar ve bu tür birkaç program vardır. Giriş Akışı asla kapatılmaz. Normalde dosya kapatıldığında Giriş Akışı nesne toplanan çöp veya program sona erdiğinde. İşleri bu şekilde açık bırakmak normalde iyi bir fikir değildir.

Ayrıca, Java'daki akışları neden kapatmalıyız? Önemlidir akışları kapat , sınırlı kaynak olarak bu sınıf tarafından tutulan ve hem soket bağlantısında hem de dosya işlemede kullanılan dosya tanımlayıcıyı serbest bırakmak için. Ciddi bir kaynak sızıntısı, dosya tanımlayıcı istisnasına da neden olabilir.

İkinci olarak, FileInputStream'i kapatmam gerekir mi?

Evet sen kapatmak gerekiyor giriş akışı eğer istek sistem kaynaklarınız geri bırakıldı. DosyaGirdi Akışı . kapat () sen ne ihtiyaç . sen de kapatmak gerekiyor () veya programınızı sonlandırın.

ByteArrayInputStream'i kapatmam gerekir mi?

4 Cevap. zorunda değilsin ByteArrayInputStream'i kapat , herhangi bir değişken tarafından başvurulmadığı anda, çöp toplayıcı akışı ve bazı baytları serbest bırakır (elbette başka bir yere başvurulmadıklarını varsayarsak).

Önerilen: