我有标准的maven项目结构:
-src
|
--main
|
---java
---resources
|
----file.txt
我需要在app start上读取此文件(读取DB模式并执行SQL脚本,因此该文件通过FileReader
打开)。构建应用程序时,使用以下代码从project/target/classes/file.txt
获取它:
getClass().getResource("/file.txt").getFile()
此文件也出现在结果jar文件的根目录中。在应用程序启动后,无法访问它,因为它是在jar文件附近搜索而不是在内部。
如何在jar / resource文件夹中访问此文件?
答案 0 :(得分:1)
您需要的是将文件作为资源读取,而不是作为带有
的文件InputStream stream = getClass().getClassLoader().getResourceAsStream("file.txt");
相关问题和答案可以在这里找到: