首页 > 解决方案 > XML 节点更新错误 - java.io.FileNotFoundException: (Permission denied)

问题描述

我正在尝试使用“new XmlNodePrinter(new PrintWriter(new FileWriter(filepath))).print(xmlParse)”更新和保存现有的 XML 文件,每次我在文件读取“java.io.FileNotFoundException:(权限被拒绝)”在文件中。

我的代码是:

def filepath = "X:/XXX/XX/abc.xml"
def xml = readFile(filepath)
def xmlParse = new XmlParser().parseText(xml)
xmlParse.project.each { A ->

if (A.@name == XXXXX){ 
      A.Branch.each { B ->
         if (B.@id == XXXXX){ 
         Do somthing....
         B.@id = YYYY  
        }
      }
new XmlNodePrinter(new PrintWriter(new FileWriter(filepath))).print(xmlParse)  

错误:

java.io.FileNotFoundException: X:\XXX\XX\abc.xml (Permission denied)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
    at java.io.FileWriter.<init>(FileWriter.java:63)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)

标签: parsinggroovy

解决方案


推荐阅读