2011-11-21 25 views
11

Tôi sẽ có nhiều tệp trong một thư mục. Tôi sẽ chỉ nhận được tên tập tin bằng cách sử dụng File.getName() và đăng nhập chúng vào một tệp nhật ký. Tôi đoán, tôi không cần phải đóng tập tin kể từ khi tôi không làm bất kỳ hoạt động đọc/ghi trong đó.Tôi có cần đóng các tệp tôi thực hiện File.getName() không?

Điều này có đúng không?

+0

đó là chính xác. – bjarneh

+0

Nếu bạn muốn liệt kê các tệp trong một thư mục, bạn có thể sử dụng ['File # list()'] (http://download.oracle.com/javase/6/docs/api/java/io/File.html # list% 28% 29) – MByD

+0

Nếu bạn mở một tập tin thì bạn cần phải đóng nó, nhưng lớp 'File' không đại diện cho một tập tin mở, nó chỉ đại diện cho một đường dẫn. – Wyzard

Trả lời

29

Bạn không bao giờ phải đóng File giây, bởi vì về cơ bản nó là biểu diễn của một đường dẫn. Chỉ luồng và người đọc/nhà văn. Trên thực tế, File thậm chí không có phương thức close().

1

Điều đó là chính xác. Lưu ý rằng không có phương thức File.close().

0

Vâng, đúng vậy. Khi bạn mở tệp bằng cách tạo FileInputStream hoặc FileOutputStream, bạn phải đóng luồng ở cuối.

5
Only resources needed to be close. 

Trong java API có giao diện Closeable Interface, các lớp này triển khai giao diện này cần phải đóng sau khi sử dụng.

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

Và sử dụng gần

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 không cần để được gần gũi

Các vấn đề liên quan