java - 从资源目录读取文件时出现 FileNotFound 异常

标签 java

我正在尝试使用下面的代码从资源目录中读取文件

new FileInputStream(new File(getClass().getClassLoader().getResource(keyFile).getFile()))

运行时出现异常

java.io.FileNotFoundException: file:\D:\WorkSpace\server\target\server.jar!\BOOT-INF\classes!\config\key.pgp (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.(Unknown Source)

最佳答案

根据您尝试获取的资源在 jar 中的位置,您应该使用相对路径来获取资源。您还可以通过使用 ResourceAsStream 直接以 InputStream 形式请求资源来完全跳过 File 对象。方法:

InputStream in = getClass().getResourceAsStream("/config/key.pgp");

关于java - 从资源目录读取文件时出现 FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53958275/

相关文章:

java - 方法在反射中有效,但在 Java 中的 "normal way"中无效

java - 在 Java SSL 中处理密码更新

java - 检测 EC2 实例何时关闭(Java SDK)

java - 将所有 Jtable、JList 选中时的边框单元格颜色更改为

java - 在将 spring security 与 spring websocket 集成时,在套接字 Controller 方法中访问用户名和

java - 使用扫描器 useDelimiter 解析文本

java - PdfBox 将多个图像添加到 pdf 中

java - 如何在fragment Activity 下填充自定义 ListView (扩展Fragment)

java - 更新类的Jpanel

java - 为什么Connection没有executeQuery方法