2011-03-07 121 views
0

我曾經知道它,但我知道java中有一種方法可以確保路徑在所有操作系統中都能正常工作(Windows使用與基於Unix的系統不同的「/」系統)。我需要做些什麼來創建一個適用於所有系統的文件路徑名?如何讓路徑名與不同的操作系統兼容?

編輯:我不確定這是我的意思,但我認爲文件路徑將最終成爲相對的。

另外,File.separator和File.pathSeparator有什麼區別?

+1

你指的是斜線嗎?那麼Windows中的驅動器號和Linux/Unix中的驅動器號 – Danish 2011-03-07 19:47:27

+0

@丹麥語,也許OP只處理相對路徑。 – asgs 2011-03-07 19:49:48

回答

6

你將不得不使用File.separatorFile.separatorChar用於這一目的。
查看File class javadoc獲取更多相關信息。

編輯: separatorpathSeparator之間的區別。第一個將文件夾分隔到文件路徑中,如/usr/bin中的/。第二個是path環境變量中的分隔符,如;中的PATH=C:/windows/bin;C:/anotherfolder

+0

File.separator和File.pathSeparator有什麼區別? – LRFLEW 2011-03-07 20:04:15

+0

'File.separator'是分隔文件路徑部分的字符,例如'C:\ dos'其中char是\或'/ home/user',其中char是'/'。 pathSeparator是分隔[PATH環境變量](http://en.wikipedia.org/wiki/Path_(variable))部分的字符,根據您的代碼運行在哪個操作系統上,該字符也是不同的。基本上它是一個';'或':' – andyb 2011-03-07 21:01:53

+0

請參閱我的編輯關於區別。編輯:andyb更快! :) – LudoMC 2011-03-07 21:03:56

4

您可以使用/(正斜槓)作爲路徑分隔符。這將跨平臺工作。

+0

除非你在舊的mac上;) – 2011-03-07 19:46:40

+0

@Byron:沒錯。 Java 5或6實際上是否在OS 9上運行? – 2011-03-07 19:47:33

1

我以前用過這個,除非我不確定它的受歡迎程度。

System.getProperty("file.separator"); 
相關問題