當我將一個字符串寫入一個文件時,Java將該文件寫入項目的根目錄。如何設置相對地址在JAVA中寫入文件?
我想寫在一個子目錄中。例如:project_root/my_subdir
。
可以將文件寫入絕對路徑?如果我的程序能夠在另一個系統上工作會好得多。 :)
對不起,我的英語不好。
當我將一個字符串寫入一個文件時,Java將該文件寫入項目的根目錄。如何設置相對地址在JAVA中寫入文件?
我想寫在一個子目錄中。例如:project_root/my_subdir
。
可以將文件寫入絕對路徑?如果我的程序能夠在另一個系統上工作會好得多。 :)
對不起,我的英語不好。
您可以定義文件
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);
聲音就像您在問如何使用相對路徑創建文件,以便在您將其部署到另一臺計算機時一樣。您可以獲取用戶的主目錄System.getProperty("user.home")
或當前工作目錄System.getProperty("user.dir")
。
例如,要在用戶的主目錄中創建文件,您可以執行: new File(System.getProperty("user.home"), "myFile.txt")
。
謝謝!我不知道。 – Danila
如果我理解你的問題很好,你正在尋找:
File file = new File("./my_subdir/file.txt");
謝謝! 還有一個問題:在Windows中可以正確使用斜線,或者我被迫編寫「。\\ my_subdir \\ file.txt」? – Danila
@Danila'/'可以在所有平臺上工作,包括Windows :) –
我相信'/'是獨立於操作系統的Java中! –
啊,如果這是很好的知道。我沒有意識到 – RNJ
我想你可以用'File.seperator'來獲得系統實現 –