如何从URL对象获取文件路径

时间:2013-03-10 09:15:59

标签: java file-io

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);
    }

我正在尝试更新我的classes文件夹中存在的xml文件。但如果我使用url.getPath()或url.getFile(),我得到文件未找到异常。 如果我硬编码文件路径而不是使用URL对象,代码工作正常。 请告诉我我的方法有什么问题。

感谢

1 个答案:

答案 0 :(得分:0)

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