Нужно ли закрывать файлы, над которыми я выполняю File.getName ()? - PullRequest
12 голосов
/ 21 ноября 2011

У меня будет много файлов в каталоге. Я буду просто получать имена файлов с помощью File.getName() и записывать их в файл журнала. Я полагаю, мне не нужно закрывать файл, так как я не делаю в нем никаких операций чтения / записи.

Это правильно?

Ответы [ 4 ]

32 голосов
/ 21 ноября 2011

Вам никогда не придется закрывать File s, потому что это в основном представление пути.Только потоки и читатели / писатели.На самом деле, File даже не имеет close() метода.

5 голосов
/ 21 ноября 2011
Only resources needed to be close.

В java API есть интерфейс Закрываемый интерфейс , эти классы реализуют этот интерфейс, который им необходимо закрыть после использования.

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

И использование close равно

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 не нужно быть близко

1 голос
/ 21 ноября 2011

Это правильно.Обратите внимание, что File.close() метод отсутствует.

0 голосов
/ 21 ноября 2011

Да, это правильно.Когда вы открываете файл, создавая FileInputStream или FileOutputStream, вы должны закрыть поток в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...