2013-01-25 71 views
5

如何打開不存在於當前目錄但在另一個目錄中的文件。例如,我有一個文件夾F:/ test,我的文件位於F:/test/test2/doit.txt和D:/ test3/doit2.txt如何在java中的另一個目錄中打開文件?

什麼參數的路徑進入,同時使File對象如下:

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

你有沒有在發佈之前使用它? – Abubakkar

+0

可能重複的[如何掃描一個文件在不同的目錄在Java?](http://stackoverflow.com/questions/2007503/how-to-scan-a-file-in-a-different-directory-in -java) –

+0

把完整的文件名 –

回答

6

其中不管操作系統,例如文件,demo.txt可以像

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

在該文件是在D:\user\

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

*nix*nux其中訪問該文件位於/usr/

另外,如果想要相對訪問的文件可以做爲(consid E-環的Windows示例):

假設我在d歌曲目錄:喜歡:

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

而且代碼裏面Main.java,然後將下面的代碼工作。

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

你沒有在File()構造函數中跳過斜槓 –

+4

我不需要。他們是正斜槓.. – TechSpellBound

-3

嘗試以下。

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

好吧,所以在java.io中路徑必須是絕對的而不是相對的。 Thankx –

+3

表達這樣的路徑的麻煩,它確保應用程序只能在Windows上運行。 Java應該是跨平臺的。 Linux沒有C:驅動器。 – NickJ

+1

現在我可以讀它了,這是一個很差的答案。 OP應該知道如何使用相關目錄。另外,不要添加稱呼和sigs。到答案(或問題)。作爲評論,他們是噪音。作爲Q或A的一部分,確實令人惱火的噪音。 –

2

假設你是F運行程序:/測試,您應該使用類似:

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

使用硬編碼的絕對路徑是不是一個好主意 - 你的程序可能無法在用戶工作有不同的目錄結構。

+0

爲什麼絕對路徑不是一個好主意? –

+1

@NickJ解釋了接受的答案。如果你不明白評論,也許你應該(做一些搜索)並提出一個新問題。 –

+0

對於平臺獨立性有所幫助。 – TechSpellBound

相關問題