[英]Can't access resources folder in Java
我試圖訪問Java應用程序中的資源(標記為)文件夾,但沒有任何作用,返回錯誤的路徑
我試過了:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
System.out.println(classLoader.getResource("."));
和
ClassLoader classLoader = Config.class.getClassLoader();
System.out.println(classLoader.getResource("."));
但它顯示我file:/D:/testProject/build/classes/main/
,當然沒有資源文件:(
如何准確訪問resources
文件夾?
-TestProject
|-resources
|-src
|-main
要知道,在你的搖籃結構的字資源 ,並在字資源 ClassLoader
是無關的。
由於您的ClassLoader
可能有多個根,因此您需要遍歷根。 使用getResources()
而不是getResource()
。 請參閱http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html#getResources-java.lang.String-
像這樣:
ClassLoader classLoader = Config.class.getClassLoader();
// or use:
// ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
// depending on what's appropriate in your case.
Enumeration<URL> roots = classLoader.getResources(".");
while (roots.hasMoreElements()) {
final URL url = roots.nextElement();
System.out.println(url);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.