【发布时间】:2013-03-27 16:02:01
【问题描述】:
我知道这个问题已经被问过好几次了,但我认为我的问题与其他问题有点不同:
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() 为空,但文件在那里! (显然,因为它在 File-Object 中)
任何人都知道为什么会发生这种情况以及我该如何解决它以便我可以在 InputStream 中获取 .jar 文件?
【问题讨论】:
-
JAR 文件中的资源本身并不是文件。
标签: java jar null inputstream