java - 从资源文件夹中找不到文件
问题描述
我的 src/main/resources 文件夹中有一个文件,我在库函数中传递了该文件的位置,但没有读取该文件。
这是反编译战争时文件夹结构的外观。
我的 src/main/resources 文件夹(Intuit.cto.gateway.aws.preprod.jks)中有一个文件,我在库函数中传递了该文件的位置,但该文件未被读取。
当我创建一个简单的 Maven 项目并尝试做同样的事情时,当我反编译我的示例项目时,我可以从 src/main/resources 访问该文件,它看起来像这样
要访问该文件,我正在使用以下代码:
public static void main(String args[])throws Exception{
FileReader fr=new FileReader("src/main/resources/filename");
int i;
while((i=fr.read())!=-1)
System.out.print((char)i);
fr.close();
}
如何解决这个问题呢 ?
解决方案
你不能按照你想要的方式去做。
您的路径很可能不正确。解压缩您的*.war
文件,然后看到它src/main
不再存在。
如果war文件没有被分解,你不能通过简单地使用传递给File*
类的路径来访问它的内容,因为你的文件被打包到一个带有文件扩展名WAR的ZIP文件中的标准位置。
如果您的目的地需要File
或传递给FileReader
您的路径,则必须从 WAR 文件中读取此文件(使用ClassLoader.getResourceAsStream()
)并将其复制到临时位置,例如File.createTempFile()
or System.getProperty("java.io.tmpdir")
。
推荐阅读
- php - Laravel 应用程序编辑显示 MethodNotAllowedHttpException
- python - 压缩和应用函数列表和相应参数的 TypeError
- sql - SQL 动态连接
- java - 从不将输入作为其签名一部分的另一种方法调用一个方法(Java)
- git - 如何从旧的 Git 提交中删除大文件?
- python - 如何使用 txt 文件交叉检查列表
- python - ImportError:无法导入名称“解析器”
- python - 有没有办法在不选择元素的情况下点击 Selenium(python)?
- python - 使用 pygame 生成玩家精灵图像的问题
- sql-server - If then else 带有变量和更新表