0
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 对象,则代码工作正常。请告诉我我的方法有什么问题。

谢谢

4

2 回答 2

0

我认为您无法从类路径资源中获取文件。因为类路径资源通常打包在 JAR 文件中。恕我直言,更新当前正在使用的 JAR 文件是没有意义的。

于 2013-03-10T09:39:51.327 回答
0

这个文件在哪里?如果它在 jar 中,您应该使用openStream()方法来访问内容。如果它不在 jar 中,则使用getAbsolutePath()打印文件的绝对路径并验证它是否存在。

于 2013-03-10T09:42:46.820 回答