2017-05-29 71 views
1

在我的Java代碼,我有些硬編碼路徑我已經寫成路徑分隔符和Linux for Java代碼

String workingPath = initPath + "\\" + tmpPath; 

initPathtmpPathFile.getParent()獲得。現在,這在Windows上工作,如果我將我的代碼移動到Linux,\\將有問題,因爲其他兩個是由系統方法確定。結果是這樣的

/home/mahmood/project/alpha\temp1 

我該如何解決這個問題?我不想在我的Linux系統代碼中放入/

+2

您可以在Windows和Linux上使用'/',另一種選擇是使用'File(File,String)'來構建路徑。 –

回答

6

有一個變量,你可以使用:File.separator

與系統有關的默認名稱分隔符。該字段被初始化爲包含系統屬性file.separator的值的第一個字符。在UNIX系統上,這個字段的值是'/';在Microsoft Windows系統上它是'\'。

String workingPath = initPath + File.separator + tmpPath; 
0

File類有一個接受父目錄的構造函數。如果你使用這個,你不需要手動連接路徑。

final File parent = new File("/home/mahmood/project/alpha"); 
final File tmp = new File(parent, "temp1");