当前位置: 首页 > 面试题库 >

如何从WAR的classes目录中读取文件?

尉迟子民
2023-03-14
问题内容

我需要从Java WAR应用程序的类路径中读取文本文件。如何将其读取为InputStream。文件位于/ WEB-INF / classes
/文件夹中,但是当我使用以下代码时,它仅返回null。

InputStream input = servletContext.getClass().getClassLoader().getResourceAsStream("my_filename.txt");

问题答案:

在其前面加上正斜杠以表示类路径的根:

getResourceAsStream("/my_filename.txt")

或者,您可以使用serlvetContext.getResourceAsStream(..)来查找相对于上下文根的资源。因此,类将是/WEB- INF/classes



 类似资料:
  • 如果文件位置是资源文件夹,下面的代码工作正常,但是当文件位置在项目目录之外时,比如(c:\file.json),它就失败了。我们如何从项目目录之外加载文件。

  • 问题内容: 我坚信这只是一种语法-但是我不知道为什么我的代码: 将无法正常工作-它显然可以进入“ testfilefolder”文件夹,并告诉我该文件在那里,即未找到错误消息“ file2.txt”。因此它可以找到它来告诉我找不到它… 但是,我得到了这段代码: 奖金-这是做我想做的事情的好方法吗(从文件中读取并计算单词的出现频率)?这是我使用Python的第一天(尽管我有很多编程经验。) 我必须说

  • 我还发现了这个使用的网页,但我还是不明白如何将其应用于我的情况?

  • 问题内容: 我的资产文件夹中有一个文件…我该如何阅读? 现在我正在尝试: 但是它抛出了一个空指针异常… 该文件称为“原始文件”,它位于文件夹资产中 我尝试使用以下方法进行投射: 和 但是都失败了…有什么建议吗? 问题答案: 您可以使用打开输入流。 是该类的一种方法。 还要注意,您不应该重新创建字符缓冲区(,循环的最后一行)。

  • 我需要从不是父目录或子目录的多个路径读取拼花地板文件。 例如, 从dir1\u 1和dir1\u 2读取拼花文件 现在,我正在读取每个目录并使用“unionAll”合并数据帧。有没有一种方法可以不使用unionAll从dir1\u 2和dir2\u 1读取拼花地板文件,或者有没有什么奇特的方法可以使用unionAll 谢谢

  • 问题内容: 我有一个要求,要将所有logback配置都放在war文件之外。目前,我已将配置文件(logback.xml)放在类路径上。我正在使用JBOSS EAP Web应用程序服务器,请提出如何实现相同的建议。 问题答案: 进入jboss启动/运行脚本并添加以下选项: 的java -Dlogback.configurationFile = /路径/到/ config.xml中 chapters.