0

我正在尝试使用以下代码创建 XML 文件

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource domSource = new DOMSource(document);
StreamResult streamResult = new StreamResult(new File("/var/log/idm/vendavo   /vendavo.xml"));
transformer.transform(domSource, streamResult);

但我收到异常 FileNotFoundException。

当我试图读取属性文件时

FileReader reader = new FileReader("/var/log/idm/vendavo/vendavo.properties");

这是工作。我的系统在Unix系统。

请帮忙。提前致谢。

4

2 回答 2

0

我认为您收到FileNotFoundException因为该文件/var/log/idm/vendavo/vendavo.xml不存在于目录中。

StreamResult result=new StreamResult(File f)

上面的构造函数需要一个非空文件引用,我建议你使用下面的代码。

try(FileOutputStream fout=new FileOutputStream(new File("/var/log/idm/vendavo/vendavo.xml")))
{
   TransformerFactory transformerFactory = TransformerFactory.newInstance();
   Transformer transformer = transformerFactory.newTransformer();
   DOMSource domSource = new DOMSource(document);
   StreamResult result=new StreamResult(fout);
   transformer.transform(domSource, streamResult);
}
于 2013-11-08T07:30:19.477 回答
0

FileReader用于读取文件的内容。该文件必须存在并且必须设置权限以允许您读取该文件。这个类不做任何其他事情。

File可用于使用 File.isFile() 和 File.canRead() 测试这些权限,以测试以确保路径是有效文件并且您有权分别读取它。

看起来像是权限问题,请尝试调用 canRead()

File f = new File(path);
System.out.println(f.canRead());
于 2013-11-08T07:21:56.930 回答