2010-02-09 25 views

回答

5

維基百科有益列出the reserved characters for different filesystems。 NTFS和POSIX都不接受文件名中的空字符或斜槓(/)字符。斜槓字符顯然不是一個好的分隔符,所以也許你可以使用null。

當然,null不適合所有情況(例如打印時通常不可見),在這種情況下,您可能需要使用某種escaping scheme

的Java,其目的是在不同的平臺上工作,甚至沒有試圖找到一個共同的路徑分隔符。相反,每個平臺都有自己的角色,可通過API訪問。

2

從技術上講,Unix確實允許文件夾/文件名中的任何字符,當然,除了/,它將被解釋爲路徑的一部分。 Windows只支持可打印字符和一些特殊字符,不包括\/: * ? " < > |

+0

那麼,對於Unix來說,沒有辦法在一個字符串中連接多個路徑? – user269354 2010-02-09 09:42:19

+1

@ user269354 - 也許你可以使用一個自制的分離器,如:/ home/user中/ tiutalk/_____ SEPARATOOOOORRR _____在/ var/WWW/_____ SEPARATOOOOORRR _____ /斌/轉儲/ – 2010-02-09 09:45:03

+0

或字符串,如「·P·P ...,#P# p「,其中#是路徑中的字符數,p是路徑 – user269354 2010-02-09 09:48:37

-1

我會小心的自定義分隔符,因爲他們可能在未來,如突破如果有人使用unicode,並且您的自定義分隔符是另一個字符的一部分。

27

PATH環境變量的分隔符是什麼? ;用於windows的,以及用於linux的

4

路徑分隔符是依賴於平臺:

對於Windows,它是「\」和UNIX它的「/」。

+1

你談論目錄分隔符,而不是路徑分隔符。路徑分隔符是分隔代表多個路徑的值的各個元素的字符(Windows上的分號,Unix上的冒號)。 – Alan 2015-04-29 14:53:06