gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:44:16 27 4
gpt4 key购买 nike

我试图访问 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

最佳答案

请注意,您的 Gradle 结构中的词 resourceClassLoader 中的词 resource 是不相关的。

因为您的 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);
}

关于java - 无法访问Java中的资源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28916362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com