gpt4 book ai didi

java - 在 netbeans 中清理和构建后从 dist 文件夹运行 jar 文件时不读取 xml 文件

转载 作者:行者123 更新时间:2023-11-30 11:37:20 27 4
gpt4 key购买 nike

这是我的代码。

File file = new File("src/qrcodescanner/xmlpac/"+filename);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
document = db.parse(file);
document.getDocumentElement().normalize();

最佳答案

如果它不是红色的,它很可能不是您期望的位置。从您发布的代码来看,我想您的 xml 文件旨在驻留在您的 jar/包结构中。

这是我的测试项目结构:

src
|-- main
|-- java
|-- mypackage
MyCode.java
MyResource.xml

对应生成的 jar 文件位于 target/ 目录,如下所示:

 mypackage
MyCode.class
MyResource.xml

MyResource.xml 如下所示:

<a>b</a>

MyCode.java 看起来像这样:

public class MyCode {

public static void main(String[] args) throws Exception {
String packagePath= "/mypackage/MyResource.xml";
String myPath ="src/main/java"+packagePath;
File f = new File(myPath);
System.out.println(f.exists());
InputStream is = Class.class.getResourceAsStream(packagePath);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.parse(is);
System.out.println(d.getElementsByTagName("a").item(0).getTextContent());
}
}

运行时打印:

true
b

方法getResourceAsStream用于从 JAR 内部加载资源。希望对您有所帮助。

关于java - 在 netbeans 中清理和构建后从 dist 文件夹运行 jar 文件时不读取 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099764/

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