|
|
1
0
这是你的问题。 不能列出资源,句号。 一个严重的问题是,如果您的资源没有被打乱,那么上面的代码工作得很好。更稳健地采用了这一想法,甚至可以在某些平台上使用(在某些平台中,您试图获得一个目录作为资源并打开它,在某些平台上将获得一个列表),但是 不支持 -规范中没有提到类加载器必须支持这一点,事实上,很多都不支持。 结论很简单: 无法列出资源 。如果你遇到一个说可以的图书馆,那就是在撒谎:充其量,这是一种只在特定条件下有效的黑客攻击。 标准的解决方法是您应该使用的服务装载机。 该概念的工作原理如下:
甚至有一个被烘焙到java中的类可以做到这一点:
有很多图书馆和博客文章试图解决这个问题。例如,有些人将资源作为URL获取,然后尝试解析这些资源,例如打开jar文件。问题是,ClassLoader系统完全是抽象的。ClassLoader可以从网络加载资源,动态解密它们,或者将它们组成整体。 而且它们不必支持作为基元列出 因此,任何这样的尝试都是不完整的。使用服务加载程序范例,因为这是“完整的”——无论类加载程序实现如何,它都能工作。 |
|
|
user23819755 · 从文件加载的数据未按正确顺序返回 2 年前 |
|
|
Grekys · C数组元素全部变为相同值 2 年前 |
|
|
Deba · 为什么在cin语句中打印空格时,第0个字符没有打印出来? 2 年前 |
|
|
catodd · C-试图将整数和结构数组存储到二进制文件中 2 年前 |
|
|
heapyams · Java可执行文件无法读取资源文件夹[重复] 2 年前 |
|
|
Community wiki · 在文件中插入值 2 年前 |