2010-10-18 74 views
1

我試過一個程序比較C:\ Program Files和C://程序文件我檢查與compareTo()== 0它們來他們是平等的。但我懷疑// & \ 之間是否有任何區別有什麼區別? c:/程序文件和//之間有什麼區別?懷疑在文件路徑

+0

你確定你不是指'\\'和'/'嗎? – paxdiablo 2010-10-18 09:00:32

+0

我輸入\\只有它不是我輸入的。我該知道如果有任何黑/白的區別//&\\ – Sumithra 2010-10-18 09:02:07

+0

是關於文件系統還是關於Java字符串文字的問題? – Basilevs 2010-10-18 09:06:40

回答

3

至少在Sun的實現中沒有區別。 Win32FileSystem通過轉換斜槓和刪除重複的斜槓來標準化路徑。

如果你想成爲100%的便攜,使用File.separator

1

分隔路徑組件之間的依賴操作系統。 Java代表獨立於操作系統的文件路徑,並導致所考慮的值相等。 轉換爲本地表示是在較低級別上完成的(如Bozho指出的),您不應該擔心這一點。不過,我建議使用「/」作爲分隔符,因爲它是更爲常見的操作系統。

+0

不要硬編碼「/」,使用'File.separator'或'System.getProperty(「file.separator」)''。 – Jonathan 2010-10-18 13:29:22

+0

「conversion」+ File.separator +「is」+ File.separator +「more」「+ File.separator +」easeient「 – Basilevs 2010-10-18 14:01:22

+0

並且存在java.net.URL/File.toURL() – Basilevs 2010-10-18 14:04:00