2010-04-13 79 views
1

我在家中和工作中正在執行一些JAVA編碼。在家裏我有Linux,工作,Windows。 Windows中的X文件的根路徑爲c:\ Documents and Settings \ User \ My Documents \ Dropbox \ file.xxx,在Linux中爲/ media/My Documents/Dropbox/file.xxx在使用JAVA + Eclipse時訪問Windows和Linux中的文件

因此,每次我編輯在任一系統中,我必須手動更改新的文件(FILEPATH)語句中的文件的根目錄。有沒有解決方法?我敢打賭,如果文件根目錄與項目資源樹有關,那麼這就是一個基於Eclipse的解決方案,而不是JAVA,我相信。

回答

3

如何使用System.getProperty("os.name")?然後根據操作系統設置文件路徑。另一種方法是傳入根作爲參數。

2

您可以使用user.home屬性來獲取當前用戶的主目錄:

System.getProperty("user.home") 
3

一對夫婦的建議:

  • 項目的子目錄中的文件是跨平臺移植(假設,是你啓動程序Eclipse之外,你會保持在同一位置的文件)。

  • 商店中(在Windows Linux上的%USERPROFILE%〜)類似的相對路徑主目錄中的文件,並使用類路徑上System.getProperty("user.home")

  • 存儲文件,並使用ClassLoader.getResourceAsStream()或相似。

+0

是的,項目結構在兩個系統中都是一樣的,只是改變了項目根目錄的路徑。我如何加載文件而不提到根目錄的路徑?試着用「file.xxx」「/TheProject/res/file.xxx」並不起作用。 – 2010-04-13 16:28:39

+0

File的javadoc詳細解釋了轉換過程http://java.sun.com/javase/6/docs/api/java/io/File.html。本質上,給定結構/TheProject/res/file.xxx或Windows C:\ TheProject \ res \文件,並假定在這兩種情況下,應用程序從TheProject目錄啓動,「新文件(」res/file.xxx「 );'應該給你正確的文件引用。 – ig0774 2010-04-13 17:12:49

相關問題