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