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將用來加載它的路徑。 –