gpt4 book ai didi

java - 如何从同一个包中读取 file.xml?

转载 作者:行者123 更新时间:2023-12-01 12:37:45 25 4
gpt4 key购买 nike

我正在尝试读取 Properties.xml 文件,该文件包含在我的类所在的同一包中。

我正在使用此代码用新值更新我的 xml 文件:

到目前为止,我只是想读取该文件:

public void UPdateXML(String filename) throws Exception {
this.filename = filename;
System.out.println("Into update xml class");
try {
InputStream fis=BACENGPropertiesFile.class.getResourceAsStream(filename);
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse((InputStream) fis);

System.out.println(fis);
System.out.println(doc);

Node child = doc.getFirstChild();
System.out.println(child);

该文件似乎存在并且正在作为 ImputStream 读取。但是当我尝试将文件解析为文档(doc)时,该值为空。

这是服务器日志的退出:

Into update xml class
java.io.BufferedInputStream@78355ed4
[#document: null]
[properties: null]

Properties xml 文件具有以下结构:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="dataImport.path">/Users/Admin/Documents/</entry>
</properties>

有人可以告诉我出了什么问题吗?

最佳答案

没有什么问题。您的文档不为空:它打印为:

[#document: null]

如果它是null,则会打印:

null

顺便问一下,为什么不通过 Properties.loadFromXML() 加载属性?

Properties p = new Properties();
try (InputStream in = BACENGPropertiesFile.class.getResourceAsStream(filename)) {
p.loadFromXML(in);
}

关于java - 如何从同一个包中读取 file.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25421095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com