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