2009-07-23 58 views

回答

20

不幸的是,Java中沒有完整的字符串轉義運算符。您需要編寫的代碼爲:

String aa = "E:\\dev_workspace1\\AccessCore\\WebRoot\\DataFile"; 
12

沒有整串逃避運營商,但是,如果它是文件的訪問,你可以使用一個正斜槓:

String aa="E:/dev_workspace1/AccessCore/WebRoot/DataFile"; 

Windows allows向前和向後斜槓作爲路徑分隔符。如果你將路徑傳遞給外部程序並且失敗,那麼這將不起作用,但這很少見。

+0

它實際上是Java的聰明嗎?我認爲這是Windows允許/作爲文件分隔符以及\的結果。 – 2009-07-23 07:16:56

+0

不知道 - 我一直認爲它是Java,但它可能是Windows API調用自己。調整以防萬一。 – paxdiablo 2009-07-23 08:21:24

+0

呵呵,我喜歡人們慷慨地爲增加我的代表而工作!感謝Pax爲改善答案! :-) – 2009-07-23 08:29:53

3

真正系統無關的方法是做到這一點:

String aa = "E:/dev_workspace1/AccessCore/WebRoot/DataFile"; 
String output = aa.replace('/', File.separatorChar); 

它會給你 「E:\ dev_workspace1 \ AccessCore \的WebRoot \數據文件」 在Windows和 「E:/dev_workspace1/AccessCore/WebRoot/DataFile「 幾乎在其他地方。

1

如果您編寫路徑,則應在Java下使用'/'作爲路徑分隔符。 '/'是Java下的官方路徑分隔符,將被轉換爲該平臺的適當分隔符(\ windows下,/ unix下)。如果傳遞給系統,字符串的其餘部分不變,所以'\'也可以在windows下運行。但是,表示此路徑的正確方法是「E:/ dev_workspace1/AccessCore/WebRoot/DataFile」。

如果要在Java字符串中表示'\',則必須用另一個字符轉義它:「This String contains a \」。