2012-01-25 137 views
1

我有一個屬性文件,並在我有定義了一個名爲屬性:Java屬性文件

config.folder = C:\myfolder\configfolder 

現在的問題是,加載屬性時,該屬性返回我這樣的淡水河谷:

C:myfolderconfigfolder 

我想用反斜槓代替這個單斜槓,所以它返回正確的目錄路徑。我知道這不符合Java.String。如果用戶使用雙向正斜槓,我可以轉換,但我怎樣才能轉換單斜槓。

回答

2

它更改爲:config.folder = C:\\myfolder\\configfolder

3

更好的辦法是,以斜線從反斜槓改爲斜槓,像這樣:

config.folder = C:/myfolde/configfolder 

的Java知道如何解釋這種結構。

+0

我希望你的意思是另一種方式 - 「從反斜槓到正斜槓」,除非我正在翻閱你的答案:) – adarshr

+1

@adarshr,我通常與這些斜槓混淆。我已經糾正了聲明,謝謝!大聲笑 –

1

我會建議你開始使用系統屬性這即文件分割符

字符串fileSeparator = System.getProperty(「文件分割符」);

現在說,你拿到的路徑:

String str = "C:/myfolder/configfolder"; 
String fileSeparator = System.getProperty("file.separator"); 
str= str.replace("/", fileSeparator); 
System.out.println(str); 

輸出是:

C:\myfolder\configfolder 

這種方法可以幫助你在任何操作系統對於示例UNIX用「/」作爲文件執行程序分隔符用於文件路徑的不同組件,WINDOWS用「\」作爲文件路徑組件的文件分隔符。

希望這可能有助於某種方式。

問候

+0

雖然它的工作,這樣做是不*真的*必要的。 – adarshr

+0

@adarshr:只要觀看我的這個編輯,就可以告訴使用這種方法的不同操作系統的好處,而不需要使用hickup。問候。 –

+0

同意了,我想說的只是具有財產'C:/ MyFolder文件/ configfolder'在大多數Java應用程序的工作,因爲他們通常會擁有智能和靈活性,既'/'和'\'工作。 – adarshr

1

與文本文件路徑發揮最好的方法是使用系統屬性iestring文件分隔符= System.getProperty(「文件分割符」),那麼你可以用烏爾斜線更換,以獲得文件路徑爲