我曾經知道它,但我知道java中有一種方法可以確保路徑在所有操作系統中都能正常工作(Windows使用與基於Unix的系統不同的「/」系統)。我需要做些什麼來創建一個適用於所有系統的文件路徑名?如何讓路徑名與不同的操作系統兼容?
編輯:我不確定這是我的意思,但我認爲文件路徑將最終成爲相對的。
另外,File.separator和File.pathSeparator有什麼區別?
我曾經知道它,但我知道java中有一種方法可以確保路徑在所有操作系統中都能正常工作(Windows使用與基於Unix的系統不同的「/」系統)。我需要做些什麼來創建一個適用於所有系統的文件路徑名?如何讓路徑名與不同的操作系統兼容?
編輯:我不確定這是我的意思,但我認爲文件路徑將最終成爲相對的。
另外,File.separator和File.pathSeparator有什麼區別?
你將不得不使用File.separator
或File.separatorChar
用於這一目的。
查看File
class javadoc獲取更多相關信息。
編輯: separator
與pathSeparator
之間的區別。第一個將文件夾分隔到文件路徑中,如/usr/bin
中的/
。第二個是path
環境變量中的分隔符,如;
中的PATH=C:/windows/bin;C:/anotherfolder
File.separator和File.pathSeparator有什麼區別? – LRFLEW 2011-03-07 20:04:15
'File.separator'是分隔文件路徑部分的字符,例如'C:\ dos'其中char是\或'/ home/user',其中char是'/'。 pathSeparator是分隔[PATH環境變量](http://en.wikipedia.org/wiki/Path_(variable))部分的字符,根據您的代碼運行在哪個操作系統上,該字符也是不同的。基本上它是一個';'或':' – andyb 2011-03-07 21:01:53
請參閱我的編輯關於區別。編輯:andyb更快! :) – LudoMC 2011-03-07 21:03:56
您可以使用/
(正斜槓)作爲路徑分隔符。這將跨平臺工作。
除非你在舊的mac上;) – 2011-03-07 19:46:40
@Byron:沒錯。 Java 5或6實際上是否在OS 9上運行? – 2011-03-07 19:47:33
我以前用過這個,除非我不確定它的受歡迎程度。
System.getProperty("file.separator");
你指的是斜線嗎?那麼Windows中的驅動器號和Linux/Unix中的驅動器號 – Danish 2011-03-07 19:47:27
@丹麥語,也許OP只處理相對路徑。 – asgs 2011-03-07 19:49:48