在我的項目中,我訪問 eclipse 中的文件夾,/src/main/ressources/Mylib它運行良好,沒有任何問題,但是當(dāng)我將項目導(dǎo)出到 .jar 文件時,它不起作用。該錯誤的代碼行:File fi = new File(Testp.class.getClassLoader().getResource("Mylib/").getFile());它給出了這個錯誤:Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)Caused by: java.lang.NullPointerException at com.myproject.Testp.main(Testp.java:73) ... 5 more
1 回答

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊
那么您想獲取類路徑資源文件夾中的所有文件嗎?我找到了這個例子:
private static File[] getResourceFolderFiles (String folder) {
? ? ClassLoader loader = Thread.currentThread().getContextClassLoader();
? ? URL url = loader.getResource(folder);
? ? String path = url.getPath();
? ? return new File(path).listFiles();
}
我測試過它并且System.out.println(Arrays.toString(getResourceFolderFiles("foldername/")));它有效。但你的文件夾必須位于類路徑上!
添加回答
舉報
0/150
提交
取消