我知道这个问题已经被问过好几次了,但我认为我的问题与其他问题有点不同:
String resourcePath = "/Path/To/Resource.jar";
File newFile = new File(resourcePath);
InputStream in1 = this.getClass().getResourceAsStream(resourcePath);
InputStream in2 = this.getClass().getClassLoader().getResourceAsStream(resourcePath);
File-Object newFile 完全没问题(已找到 .jar 文件,您可以获取其元数据,如 newFile.length() 等)
另一方面,InputStream 总是返回 null。我知道 javadoc 说getResourceAsStream()
如果没有找到具有此名称的资源,则为 null,但文件在那里!(显然,因为它在文件对象中)
任何人都知道为什么会发生这种情况以及如何修复它以便我可以在 InputStream 中获取 .jar 文件?