繁体   English   中英

无法访问Java中的资源文件夹

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM