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 内にある場合は、openStream()メソッドを使用してコンテンツにアクセスする必要があります。jar 内にない場合は、getAbsolutePath()を使用してファイルの絶対パスを出力し、存在するかどうかを確認します。

于 2013-03-10T09:42:46.820 に答える
0

クラスパスリソースからファイルを取得できるとは思いません。通常、クラスパス リソースは JAR ファイルにパッケージ化されているためです。また、現在使用中の JAR ファイルを更新しても意味がありません。

于 2013-03-10T09:39:51.327 に答える