javax.xml.transform.TransformerException:java.io.FileNotFoundException:<file_name>(访问被拒绝)

Ash*_*oli 2 java file-io parsing dom xerces

我在最后一行代码中遇到异常 -

Transformer transformer = TransformerFactory.newInstance().newTransformer();
DOMSource xmlSource = new DOMSource(document);

StreamResult result;
File f = new File(sFilePath);
if (f.exists() == false) {
   result = new StreamResult(f);
} else {
   result = new StreamResult(sFilePath);
}

transformer.transform(xmlSource, result);
Run Code Online (Sandbox Code Playgroud)

异常堆栈跟踪是 -

java.io.FileNotFoundException:C:\ ProgramData.\ config\.xml(访问被拒绝)stacktrace javax.xml.transform.TransformerException:java.io.FileNotFoundException:C:\ ProgramData.\ config\.xml(访问被拒绝)com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(未知来源)at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)at at来自com..main.dr.a(未知来源)的com..main.dr.a(未知来源)位于com..main.hk(未知来源)的com..main.hk(未知来源)at at com..main.ay.run(Unknown Source)由以下引起:java.io.FileNotFoundException:C:\ ProgramData.\ config\.xml(访问被拒绝)java. java.io.FileOutputStream.open(Native Method) .io.FileOutputStream.java.io.FileOutputStream中的(未知来源).(未知来源)... 7更多--------- java.io.FileNotFoundException:C:\ ProgramData.\ config\.xml(访问被拒绝)在java.io.FileOutputStream.open(本机方法) )在java.io.FileOutputStream.java.io.FileOutputStream中的(未知来源).(未知来源)com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(未知来源),地址为com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(未知来自com..main.dr.a(未知来源)的com..main.dr.a(未知来源)com.com.main.dr.a(未知来源)at com..main.hk(未知)来自com..main.ay.run(未知来源)和原因isjava.io.FileNotFoundException:C:\ ProgramData.\ config\.xml(访问被拒绝)

小智 7

尝试将其更改为使用文件,URI.getPath()而不是仅将File对象传递给StreamResult.

例如. StreamResult result = new StreamResult(anOutputFile.toURI().getPath());