我在代码最后一行越来越例外 -javax.xml.transform.TransformerException中:java.io.FileNotFoundException:<file_name>(访问被拒绝)
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);
的异常堆栈跟踪是 -
java.io.FileNotFoundException: C:\ ProgramData \配置\ .XML(Access是 拒绝)堆栈跟踪javax.xml.transform.TransformerException中: java.io.FileNotFoundException: C:\ ProgramData \配置\。 xml(访问被拒绝 )在 com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(未知 来源)在 com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl (未知来源)在 com ..main.dr.a(未知来源)在 com ..main.dr.a(未知来源)在 com..main.hk(Unknown Source)at com..main.ay.run(Unknown Source)引起者: java.io.FileNotFoundException: C:\ ProgramData。\ config \ .xml(Access is denied )在java.io.FileOutputStream.open(Native Method)处,位于 java.io.FileOutputStream。 (Unknown Source) java.io.FileOutputStream。 (未知源)... 7更多--------- java.io.FileNotFoundException: C:\ ProgramData。\ config \ .xml(访问是 denied)java.io.FileOutputStream.open (本机方法) java.io.FileOutputStream。 (Unknown Source) java.io.FileOutputStream。 (Unknown Source) com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source)at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl。转换(Unknown Source)at com..main.dr.a(Unknown Source)at com..main.dr.a(Unknown Source)at com..main.dr.a(Unknown Source)at com ..main.hk(未知来源)在 com..main.ay.run(未知来源)和原因 isjava.io.FileNotFoundException: C:\ ProgramData \ \ config \ .xml(访问被拒绝的 )
我的应用程序是Java桌面应用程序。此应用程序自动运行第一次。无论何时用户下次运行它,它都会抛出Access被拒绝,因为程序无法访问C:\ ProgramData中的配置文件。 –
那么你是说1)它总是第一次成功运行,但2)它总是在第二次和以后失败?这听起来像“文件正在使用”错误。也许你没有关闭所有的文件(在“最后”)?还有:看这里:http://xml.apache.org/xalan-j/faq.html:“为什么我找不到'找不到'?” – paulsm4
问题是“C:\ Program Data \ ..”中的相关文件权限。 –