TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer;
try {
transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
URL url = getClass().getResource("CustomerDedupeRules.xml");
StreamResult result = new StreamResult(new File(url.getPath()));
transformer.transform(source, result);
} catch (Exception e) {
logger.error(e);
}
我想更新存在於我的類文件夾中的xml文件。但我得到文件沒有發現異常,如果我使用url.getPath()或url.getFile()。 代碼工作正常,如果我硬編碼的文件路徑,而不是使用URL對象。 請告訴我我的方法有什麼問題。我怎麼能從URL對象獲得文件路徑
感謝
文件不是jar的一部分。它存在於文件系統中。 openstream()工作正常。我正在閱讀文件並在更新之前檢查它(我沒有在這裏粘貼這些代碼,但我正在成功完成)。 URL.getPath()返回文件路徑爲:C:\ Program Files \ 20%20(x86)\ Apache%20Software%20Foundation \ Tomcat%206.0 \ webapps \ Dedupe \ WEB-INF \ classes \ com \ infor \ dedupe \ Column_Mappings。 xml:空格用url.getPath()表示爲%20。我認爲這就是爲什麼我得到文件沒有發現異常 – subash 2013-03-10 10:04:50
空白處罰很好。該文件仍應該被讀取。也許問題是空格是URL編碼,File API不能理解。你可以嘗試解碼字符串並將其提供給File API嗎? – 2013-03-10 10:10:25