java - 在哪里放置 .txt 文件,以便 java servlet 可以在运行时读取它

标签 java servlets file-io

<分区>

我正在使用eclipse 制作一个动态网页。它是一个简单的程序,依靠 servlet 来传递/检索数据。我的一个 servlet 必须打开一个 .txt 文件以读取其内容并将其发送给客户端。但是我得到一个 FileNotFound 异常。我知道它是因为我不知道如何/在哪里放置 txt 文件,以便 servlet 可以在运行时找到该文件。我正在研究 eclipse 。你能提供一些提示吗?

谢谢

最佳答案

将它放在类路径中(您的 Java 代码所在的位置)或将其路径添加到类路径中。

InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("file.txt");

或者,将其放在公共(public)网络内容中(您的 JSP 文件也在那里)。

InputStream input = getServletContext().getResourceAsStream("file.txt");

您至少不应将 java.io.File 与相对路径一起使用,因为这将取决于当前工作目录,而这取决于您启动应用程序的方式。

另见:

关于java - 在哪里放置 .txt 文件,以便 java servlet 可以在运行时读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4410890/

相关文章:

java - 我应该如何将值传递给页面?

c - 如何有效地从 C 文件中检索数据

Collectors.groupingBy 的 Java 8 类型检查

java - 如何使用 Gradle 更改 Android 风格应用程序的包名称?

servlets - 在 servlet 中注入(inject) jms 资源以及 MDB 的最佳实践

tomcat - 在 Tomcat 上将 servlet 部署为共享 jar 库时的路径问题

Java,从 ArrayList 中删除对象重写为文本文件

java - getResourceAsStream() 与 FileInputStream

java - 在启动时选择正确的 Bean

java - 如何检测所需的 XML 属性?