parsing - 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)
解决方案
推荐阅读
- docker - nginx 不会在 80 以外的端口上监听 docker 上的 pgadmin
- terraform - 基于变量的可选块
- flutter - 如何在颤振 sharedprefrence 中存储加密类型
- telosys - Telosys 中 templates.cfg 中的变量
- devexpress - 如何从 Devexpress XtragGrid 的组合框中设置列单元格的值?
- r - 使用聚合函数将月度数据转换为季度数据
- javascript - 使用选择选项隐藏和显示表单的 JavaScript
- ios - iOS JSON 传递给 TableVIewCell 中的 NextViewController
- c# - 如何从视图中的另一个 ViewModel 调用方法 (WPF)
- security - 与集成团队共享密钥的最佳方式