2016-01-07 141 views
0

即將發佈的Java應用程序,但我有一個小問題:我完全通過Eclipse在Mac OS X上開發應用程序,並使用絕對路徑來引用放在一個目錄:Java絕對路徑 - Mac OS X - Windows

"/Users/Name/Documents/folder" 

我以前System.getProperty"os.name",以找出是否我目前運行在Mac或沒有,如果是,我將使用該文件夾,否則我會用另一個文件夾例如:C:\Users\Name\Documents\folder

問題是:我必須追加到此字符串可能包含其他子文件夾的名稱。我知道在Mac上分開的文件夾我使用"/"和窗口"\"。我該如何解決這個問題?有小費嗎 ?

+2

首先,使用'System.getProperty(「的user.home」)'來獲得用戶的主目錄。如果你使用'File',你可以一直使用'/',Windows不會在乎,但是基於Linux的操作系統可以。你也可以使用['File.separator'](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#separator),我相信它使用'System.getProperty( 「file.separator」)'在任何可能的地方,如果可以的話,不要硬編碼它們;) – MadProgrammer

+0

所以在Windows上將同時工作「C:\ Users \ ....」和「C:\ Users \ .. ..「? – Levenlol

+0

@Levenlol是的。只有Windows命令行堅持使用反斜槓。 –

回答

1

您可以使用以下具有良好的分離:

所有的
System.getProperty("file.separator")