gpt4 book ai didi

java - 使用 class.getResource() 在 .jar 中加载文件?

转载 作者:搜寻专家 更新时间:2023-11-01 03:37:40 26 4
gpt4 key购买 nike

我的 java 项目中有以下目录结构:

enter image description here

本项目由Maven管理,打包时所有资源都放在一个.jar文件中。
Utils.java 中,我正在加载 car.jpg,因为纹理文件位于类路径中,所以我使用以下方法获取文件句柄:

URL url = Utils.class.getResource("/textures/car.jpg");

在获取对类路径上的文件的引用时,我看到很多关于使用哪种方法的困惑。
class.getResource() 是正确的使用方法吗?或者 class.getResourceAsStream() 有什么好处吗?

最佳答案

除了返回对象外,两者几乎相同。 getResourceAsStream 最终调用 getResource 并从 URL 对象返回一个打开的 InputStream,如 ClassLoader 类:

public InputStream getResourceAsStream(String name) {
URL url = getResource(name);
try {
return url != null ? url.openStream() : null;
} catch (IOException e) {
return null;
}
}

关于java - 使用 class.getResource() 在 .jar 中加载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25690565/

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