gpt4 book ai didi

java - 如果我想在 java servlet 中解析它,我应该在哪里找到 xml 文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:52:20 26 4
gpt4 key购买 nike

我想在 servlet 中解析 xml 文件,但发生异常,JVM 无法指定 xml 文件位置。

异常(exception)情况

java.io.FileNotFoundException: FormFieldsNames.xml (The system cannot find the file specified)

我尝试将 xml 文件放在项目方向、java src 包和 servlet 包中,但所有这些尝试都得到相同的结果。

我应该在哪里找到 xml 文件,请提前帮助并感谢。

最佳答案

从类路径读取文件的一个常见问题是在 WAR 文件中获取正确的位置。

在 Java 中,一个名为 MyServlet 的 servlet 可以像这样引用文件

InputStream is=MyServlet.getClass().getResourceAsStream("/path/to/file/example.txt")

这将找到存储在

下的文件
WEB-INF/classes/path/to/file/example.txt

请注意前导/,它经常会让人感到困惑。

应用程序容器可以从本地文件系统读取(假设您想要获取外部属性但不想使用 JNDI)。为此,您将使用通常的文件访问过程:

InputStream fis = FileInputStream(new File("/usr/share/myapp/another-example.txt"));

当然,如果您想将 DOM 指向它,那么 MyServlet 可以包含以下内容:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = dbf.newDocumentBuilder();
InputStream is = MyServlet.getClass().getResourceAsStream("/path/to/my/example.xml");
Document document = documentBuilder.parse(new InputSource(is));
// And start exploring the NodeList...
NodeList nodeList = document.getFirstChild().getChildNodes();

这应该可以解决问题。

关于java - 如果我想在 java servlet 中解析它,我应该在哪里找到 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4294282/

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