我尝试使用
列出 jar 文件夹文件getClass().getResourceAsStream("/folderName")
它返回 null
但是 getClass().getResourceAsStream("folderName/fileName")
不是 null
有什么区别?
它可以在 Eclipse 中运行,但不能在 jar
文件中运行
最佳答案
你告诉Class Loader在 "/folderName"
中定位文件(资源),这是根(绝对)。而“folderName”
是您的类(class)所在的当前文件夹(相对于)。
加上:
getClass().getResourceAsStream()
正在使用系统类加载器。不是加载父类的类加载器。使用
Example.class.getResourceAsStream()
,您应该能够访问资源。- 此外,如果您要混淆 JAR,则不能使用静态路径。
关于java - getClass().getResourceAsStream ("/folder") 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39729015/