javax.xml.transform.TransformerException:java.io.FileNotFoundException:< file_name>(访问被拒绝) [英] javax.xml.transform.TransformerException: java.io.FileNotFoundException: <file_name>(Access is denied)

查看:396
本文介绍了javax.xml.transform.TransformerException:java.io.FileNotFoundException:< file_name>(访问被拒绝)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am getting exception at last line of code -

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

异常堆栈跟踪是 -

The exception stacktrace is -


java.io.FileNotFoundException:
C:\ProgramData.\config\.xml(Access is
denied)stacktrace javax.xml.transform.TransformerException:
java.io.FileNotFoundException:
C:\ProgramData.\config\.xml(Access is
denied)at
com.sun.org.apache.xalan.internal。 xsltc.trax.TransformerImpl.getOutputHandler(Unknown
Source)at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(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(Unknown Source)at
com..main.ay.run(Unknown Source)导致:
java.io.FileNotFoundException:
C:\ProgramData.\\ java.io.FileOutputStream.open(Native Method)在
java.io.FileOutputStream中的\\ config\.xml(Access is
denied)。 (未知来源)在
java.io.FileOutputStream。 (未知来源)... 7更多---------
java.io.FileNotFoundException:
C:\ProgramData.\config\.xml(Access是
denied)在java.io.FileOutputStream.open(Native Method)在
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(Unknown
Source)at com..main.dr.a(Unknown Source)at
com..main.dr.a(Unknown Source)at
com..main.dr.a(未知来源)在
com..main.hk(未知来源)在
com..main.ay.run(未知来源)和原因
isjava.io.FileNotFoundException:
C:\ProgramData.\config\.xml(Access is
denied)

java.io.FileNotFoundException: C:\ProgramData.\config\.xml (Access is denied) stacktrace javax.xml.transform.TransformerException: java.io.FileNotFoundException: C:\ProgramData.\config\.xml (Access is denied) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(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.h.k(Unknown Source) at com..main.ay.run(Unknown Source) Caused by: java.io.FileNotFoundException: C:\ProgramData.\config\.xml (Access is denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream. (Unknown Source) at java.io.FileOutputStream. (Unknown Source) ... 7 more --------- java.io.FileNotFoundException: C:\ProgramData.\config\.xml (Access is denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream. (Unknown Source) at java.io.FileOutputStream. (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(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.h.k(Unknown Source) at com..main.ay.run(Unknown Source) and the cause isjava.io.FileNotFoundException: C:\ProgramData.\config\.xml (Access is denied)


推荐答案

听起来像你的XML文件的文件权限,不是吗?

Sounds like file permissions on your XML files, doesn't it?

如果你请记住,网络用户(例如Linux / Apache下的nobody,Windows / IIS下的IUSR_MACHINE)具有访问文件系统的MINIMAL权限。

If you're executing from a web context, please bear in mind that the web user (for example, "nobody" under Linux/Apache, or "IUSR_MACHINE" under Windows/IIS) has MINIMAL privileges to access your filesystem.

这是一个好事:特别是如果你的应用程序暴露于互联网:)

And this is a Good Thing: especially if your application is exposed to the Internet :)

PS:
此外,您引用的目录路径看起来不正确:

PS: Also, the directory path you cited doesn't look right:


C:\ProgramData.\config.xml

C:\ProgramData.\config.xml

你确定是不应该是C:\Program Data\config.xml????

Are you sure it's not supposed to be "C:\Program Data\config.xml"????

PPS:
当我们在谈论文件权限; Windows Vista,Windows 7和Server 2008都有更严格的规则来访问驱动器的根目录(EX:c:\)或系统目录(EX:c:\windows或c:\Program files )。

PPS: While we're talking about "file permissions"; Windows Vista, Windows 7 and Server 2008 all have stricter rules against accessing anything in a drive's root (EX: "c:\") or system directories (EX: "c:\windows" or "c:\Program files").

这篇关于javax.xml.transform.TransformerException:java.io.FileNotFoundException:< file_name>(访问被拒绝)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆