2014-07-16 101 views
1
String filepath = E:\TestCode\My Demo File\abc.xml 

我想用這個文件路徑創建文件,這個文件路徑有空格。帶空格的文件路徑

FileInputStream file = new FileInputStream(new File(filePath)); 
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder = builderFactory.newDocumentBuilder(); 
Document xmlDocument = builder.parse(file); 

它拋出FileNotFoundException

+1

請參閱http://docs.oracle.com/javase/tutorial/java/data/characters.html。您需要在字符串中使用「\\」而不是「\」。 – DavidPostill

+0

你知道這四行中的哪一行會拋出異常嗎? –

+1

'String filepath = E:\ TestCode \ My Demo File \ abc.xml' will not compile .. –

回答

1

指定Windows文件路徑時,必須轉義'\'字符,否則指定的路徑將不會完全符合您的預期。指定路徑的正確方法應該是:

String filepath = "E:\\TestCode\\My Demo File\\abc.xml"; 

或者,您可以使用正斜槓作爲路徑分隔符,則File類會自動將其轉換爲正確的分離器爲您的平臺:

String filepath = "E:/TestCode/My Demo File/abc.xml"; 

我已經添加了缺少您在原始問題中提供的代碼中缺少的引號和分號。

+0

或者只是使用'/ '因爲'文件'足夠聰明,可以計算出正確的分隔符... –

+0

@Boris真的,我已經更新了我的答案,謝謝你的通知;) – Laf