【发布时间】:2011-03-04 22:11:46
【问题描述】:
为什么 public InputStream getResourceAsStream(String name) 在 Class 类中?它只是给出 jar 文件中文件的输入流,与 Class 类没有关系。所以它可以是静态方法,它可以在任何类中。
【问题讨论】:
标签: java java-me embedded-resource
为什么 public InputStream getResourceAsStream(String name) 在 Class 类中?它只是给出 jar 文件中文件的输入流,与 Class 类没有关系。所以它可以是静态方法,它可以在任何类中。
【问题讨论】:
标签: java java-me embedded-resource
与类有关系:
getResourceAsStream("baz.txt")foo.bar.SomeClass,它将寻找/foo/bar/baz.txt
【讨论】:
它只是给出 jar 文件中文件的输入流 ...
不正确。并非所有类加载器都从常规 JAR 文件加载资源。
在这种情况下,当您通过Class 使用ClassLoader API 时,所有这些复杂性都会对您隐藏。
...和Class类没有关系。
不正确。请参阅@Jon Skeet 的回答。请注意,调用Class.getResourceAsStream(String) 会提供与类属于相同安全上下文的资源。如果正在使用多个类加载器/安全上下文,这可能非常重要。
【讨论】: