2012-07-02 30 views
10

Trong một chương trình java, tôi có thể tạo một tập tin vớiTệp đã tạo không có phụ huynh?

File temp = new File("temp"); 
temp.createNewFile(); 

Sau đó, vì một lý do khi tôi viết

File pDir = temp.getParentFile(); 

và pDir là null. Tôi thực sự muốn viết

File pDir = temp.getParentFile().getParentFile(); 

nhưng điều đó ném một ngoại lệ con trỏ null.

+0

Chúng không tự động được tạo trong thư mục làm việc? Nó tạo ra các tập tin ở đó, nó chỉ không trả lại bất kỳ cha mẹ. – SSEMember

Trả lời

26

Bạn cần tệp có đường dẫn cho điều đó, hãy thử getAbsoluteFile.

File pDir = temp.getAbsoluteFile().getParentFile(); 
+0

Cảm ơn! Điều này làm việc hoàn hảo. Tôi sẽ chấp nhận ngay khi tôi có thể. – SSEMember

0

Bạn đang tạo tệp có tên tạm thời nhưng không có đường dẫn, vì vậy sẽ không có đường dẫn gốc. Nếu bạn muốn đặt tệp trong thư mục hiện tại:

File temp = new File(System.getProperty("user.dir")+"/temp"); 
File parent = temp.getParentFile(); 
Các vấn đề liên quan