2013-03-08 39 views
2

導致的Java文件錯誤我曾嘗試使用System.getenv(「APPDATA」),它在文件夾之間返回\。 FileOutPutStream不處理這些,所以我怎樣才能將\'s轉換爲/?由於

感謝

回答

4

每當你需要使用\時間,寫兩個:\\。換句話說:你需要逃避它,因爲\角色本身就是逃跑角色,它也需要逃脫!

或者,對於文件路徑,您可以使用單個/,這與您所在的平臺(Windows,Linux,Mac等)無關。

回到你的問題:這有點奇怪,發生這種情況時,getenv返回的字符串肯定已經逃脫了\這個字符。讓我們嘗試使用,需要一個File代替constructor

FileOutputStream fos = new FileOutputStream(new File(System.getenv("APPDATA"))); 
+0

如果你真的想使用'/',那麼只需要這樣做:'System.getenv(「APPDATA」)。replace('\','/')' – 2013-03-08 20:10:59

+1

謝謝!我將用它來做我的程序。 – Mad3ngineer 2013-03-08 20:12:11

0
File f = new File(System.getenv("APPDATA")); 
System.out.println(f.getAbsolutePath()); 

然後你就可以構造一個新的(F)FileOutputStream中;