2011-11-21 14 views
11

Będę miał wiele plików w katalogu. Po prostu otrzymam nazwy plików za pomocą File.getName() i zapiszę je w pliku dziennika. Zakładam, że nie muszę zamykać pliku, ponieważ nie wykonuję w nim operacji odczytu/zapisu.Czy muszę zamknąć pliki, w których wykonuję File.getName()?

Czy to prawda?

+0

że jest prawidłowa. – bjarneh

+0

Jeśli chcesz wyświetlić listę plików w katalogu, możesz użyć ['File # list()'] (http://download.oracle.com/javase/6/docs/api/java/io/File.html # list% 28% 29) – MByD

+0

Jeśli otworzysz plik, musisz go zamknąć, ale klasa 'File' nie reprezentuje otwartego pliku, to po prostu reprezentuje ścieżkę. – Wyzard

Odpowiedz

29

Nigdy nie musisz zamykać File s, ponieważ jest to w zasadzie reprezentacja ścieżki. Tylko strumienie i czytelnicy/scenarzyści. W rzeczywistości File nie ma nawet metody close().

1

To prawda. Zauważ, że nie ma metody File.close().

0

Tak, zgadza się. Po otwarciu pliku przez utworzenie FileInputStream lub FileOutputStream należy zamknąć strumień na końcu.

5
Only resources needed to be close. 

W Java API jest interfejs Closeable Interface te zajęcia wdrożyć ten interfejs muszą być szczelnie po użyciu.

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

i wykorzystanie ścisłej jest

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 ma potrzeby, aby być blisko

Powiązane problemy