1
我试图使用getClassLoader()。的getResourceAsStream方法与“.LIB”扩展
getClassLoader().getResourceAsStream("file.LIB")
加载从资源/路径下的文件,但该方法始终返回null,除非我重命名文件返回null将该文件转换为另一个扩展名,例如“.dll”。
我查看了官方的Java文档,但无济于事。
为什么该方法在该文件类型上出现奇怪现象?
注:我使用的是JDK 1.8.0_111 86(由于在该库文件,只用32位JVM行之有效的约束)
你确定这个文件在你的类路径中吗?顺便说一句,当你以这种方式打开文件时,没有理由使用32位或64位JVM,它只在加载共享库时很重要。 –
是的,我敢肯定,因为当文件被重命名在相同的路径,它被加载。此外,我还有其他需要32位jvm的dll(使用Prolog的共享库)。该lib是它们的依赖项之一 –
如果一个DLL需要另一个文件,则不需要使用类路径来读取它,而不是DLL将用来加载它的路径。 –