2011-11-21 23 views
11

Dizinde çok fazla dosya olacağım. Ben sadece File.getName() kullanarak dosya adlarını alıyorum ve bunları bir günlük dosyasına kaydedeceğim. Sanırım dosyada okuma/yazma işlemi yapmadığım için dosyayı kapatmam gerekmiyor.File.getName() dosyasını gerçekleştirdiğim dosyaları kapatmam gerekiyor mu?

Bu doğru mu?

+0

olmaya gerek yoktur. – bjarneh

+0

Dosyaları bir dizinde listelemek isterseniz, ['Dosya # listesi()'] 'ni kullanabilirsiniz (http://download.oracle.com/javase/6/docs/api/java/io/File.html # liste% 28% 29) – MByD

+0

Dosya açarsanız, dosyayı kapatmanız gerekir, ancak 'Dosya 'sınıfı açık bir dosyayı temsil etmiyor, sadece bir yolu temsil ediyor. – Wyzard

cevap

29

Temel olarak bir yolun bir temsili olduğundan, File s'yi kapatmanız gerekmez. Sadece Akımlar ve Okuyucular/Yazarlar. Aslında, File, close() yöntemine sahip değildir.

1

Bu doğru. File.close() yönteminin olmadığını unutmayın.

0

Evet, doğru. Bir dosyayı bir FileInputStream veya FileOutputStream oluşturarak açtığınızda, sonunda akışı kapatmanız gerekir.

5
Only resources needed to be close. 

java API olarak bu sınıflar da kullanımdan sonra yakın olması gerekiyor bu arabirim uygulamak, bir arayüz Closeable Interface yoktur.

close() //method is in that interface.. 

Ve yakın kullanımı

It closes the stream and releases any system resources associated with it. 
If the stream is already closed then invoking this method has no effect. 

File olduğu doğrudur yakın

İlgili konular