2013-01-25 68 views
5

Cách mở tệp không có trong thư mục hiện tại nhưng trong thư mục khác.Ví dụ: tôi có thư mục F:/test và tệp của tôi nằm trong F: /test/test2/doit.txt và D:/test3/doit2.txtCách mở tệp trong thư mục khác trong java?

gì để nhập vào đường dẫn trong tham số trong khi làm cho đối tượng tập tin như sau:

File f = new File("/test2/doit.txt"); 
+0

bạn đã googled nó trước khi đăng bài ở đây phải không? – Abubakkar

+0

bản sao có thể có của [Cách quét tệp trong một thư mục khác trong java?] (Http://stackoverflow.com/questions/2007503/how-to-scan-a-file-in-a-different-directory-in -java) –

+0

đặt tên tập tin hoàn chỉnh –

Trả lời

6

Không phân biệt hệ điều hành, một file ví dụ, demo.txt thể được truy cập như

File file = new File("/d:/user/demo.txt"); 

trong Windows mà tập tin được tại D:\user\

File file = new File("/usr/demo.txt"); 

trong *nix hoặc *nux nơi tệp này có tại /usr/

Ngoài ra, một tệp nếu muốn được truy cập tương đối có thể được thực hiện như (xem xét ering ví dụ Windows):

Giả sử tôi trong thư mục bài hát trong D: như:

D:/ 
| 
|---songs/ 
| | 
| |---Main.java 
| 
|---user/ 
    | 
    |---demo.txt 

và mã là bên trong Main.java, sau đó đoạn mã sau hoạt động.

File file = new File("../user/demo.txt"); 
+0

bạn đã không thoát khỏi slashes trong File() constructor –

+4

Tôi không cần. Chúng là dấu gạch chéo về phía trước .. – TechSpellBound

-3

Thử bên dưới.

fr = new FileReader ("C:/Users/user/Desktop/java/test.txt"); 
+0

Ok, do đó, các đường dẫn cần phải tuyệt đối hơn là tương đối trong java.io. Thankx –

+3

Sự cố khi diễn tả đường dẫn như vậy, nó đảm bảo rằng ứng dụng chỉ có thể chạy trên Windows. Java được cho là nền tảng chéo. Linux không có ổ C: – NickJ

+1

Bây giờ tôi có thể đọc nó, đây là câu trả lời nghèo nàn. OP nên tìm cách làm việc với các thư mục tương đối. Ngoài ra, không thêm lời chào và sigs. vào câu trả lời (hoặc câu hỏi). Như ý kiến, họ là tiếng ồn. Là một phần của Q hoặc A, tiếng ồn thực sự khó chịu. –

2

Giả sử bạn đang chạy chương trình của bạn từ F:/kiểm tra bạn nên sử dụng một cái gì đó như:

File f = new File("./test2/doit.txt"); 

Sử dụng đường dẫn tuyệt đối hardcoded không phải là một ý tưởng tốt - chương trình của bạn có thể không hoạt động khi sử dụng có cấu trúc thư mục khác nhau.

+0

tại sao đường dẫn tuyệt đối không phải là một ý tưởng tốt? –

+1

@NickJ giải thích về câu trả lời được chấp nhận. Nếu bạn không thể hiểu được bình luận, có lẽ bạn nên (làm một chút tìm kiếm và) hỏi một câu hỏi mới. –

+0

cho nền tảng độc lập ở một mức độ nào đó. – TechSpellBound

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