2012-09-05 34 views
0

當我將一個字符串寫入一個文件時,Java將該文件寫入項目的根目錄。如何設置相對地址在JAVA中寫入文件?

我想寫在一個子目錄中。例如:project_root/my_subdir

可以將文件寫入絕對路徑?如果我的程序能夠在另一個系統上工作會好得多。 :)

對不起,我的英語不好。

回答

2

您可以定義文件

new File("project_root/my_subdir", newFileToCreate); 

或許

new File("project_root" + File.separator + "my_subdir", newFileToCreate); 

保持這種獨立於操作系統的

,或者您可以使用文件作爲第一個參數

new File(new File("project_root" + File.separator + "my_subdir"), newFileToCreate); 
+3

我相信'/'是獨立於操作系統的Java中! –

+0

啊,如果這是很好的知道。我沒有意識到 – RNJ

+0

我想你可以用'File.seperator'來獲得系統實現 –

1

聲音就像您在問如何使用相對路徑創建文件,以便在您將其部署到另一臺計算機時一樣。您可以獲取用戶的主目錄System.getProperty("user.home")或當前工作目錄System.getProperty("user.dir")

例如,要在用戶的主目錄中創建文件,您可以執行: new File(System.getProperty("user.home"), "myFile.txt")

+0

謝謝!我不知道。 – Danila

2

如果我理解你的問題很好,你正在尋找:

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

謝謝! 還有一個問題:在Windows中可以正確使用斜線,或者我被迫編寫「。\\ my_subdir \\ file.txt」? – Danila

+0

@Danila'/'可以在所有平臺上工作,包括Windows :) –

相關問題