2012-02-21 16 views
17

Tôi cố gắng để văn bản đầu ra vào một tập tin tài nguyên trong Java như vậy:Cách xem tệp tài nguyên có tồn tại trong Java không?

File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString()); 
BufferedWriter out = new BufferedWriter(new FileWriter(file)); 
.. 

nhưng vì các tập tin tài nguyên chưa được tạo ra tôi nhận được một con trỏ ngoại lệ null. Làm thế nào tôi có thể tạo một tập tin tài nguyên trống đầu tiên nếu nó không tồn tại để tránh lỗi này?

+0

Vui lòng kiểm tra bài đăng này: http://stackoverflow.com/questions/1816673/how-do-i-check-if-a-file-exists-java-on-windows – adis

Trả lời

32

Một kiểm tra null đơn giản sẽ đủ

URL u = MLM.class.getResource("/mazes.txt"); 
if (u != null) { 
     ... 
} 

Từ javadoc cho getResource

Returns:
Một đối tượng URL hoặc null nếu không có tài nguyên với tên này được tìm thấy

+3

Đã không hiệu quả đối với tôi , nhưng MLM.class.getResource ("mazes.txt") đã hoạt động. – Anthony

+0

Tôi cần một đường dẫn tuyệt đối, như thế này 'MLM.class.getResource ("/mazes.txt ")' – user6537157

1

Bạn có thể sử dụng trước mã của mình:

File.createNewFile()

nguyên tử tạo ra một tập tin, trống mới được đặt tên bởi tên đường dẫn trừu tượng này khi và chỉ khi một tập tin với tên này chưa tồn tại. Kiểm tra sự tồn tại của tệp và tạo tệp nếu không tồn tại là một hoạt động duy nhất là nguyên tử đối với tất cả các hoạt động hệ thống tệp khác có thể ảnh hưởng đến tệp.

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