gpt4 book ai didi

java - 如何使用字符串路径名在 WAR 中打开资源文件?

转载 作者:行者123 更新时间:2023-12-02 07:42:22 25 4
gpt4 key购买 nike

我正在构建一个 WAR/EAR,我的一个组件使用文件 IO 读取许多自定义配置文件:

Reader reader = new BufferedReader(new FileReader(path));

上面的路径是一个字符串,通过Spring的applicationContext.xml文件作为属性传递给这个类。

如果我想将所有这些配置文件放在 WAR 中,我应该指定什么字符串路径?这甚至可以做到吗?还是组件不正确,应该改用 getResourceAsStream()

我四处浏览,发现了很多关于 getResource()URI 的信息。但是,我找不到是否可以在 applicationContext.xml

中为资源创建正确的文件路径

最佳答案

在spring环境下最好使用spring resources API简单示例:

@Inject
private ResourceLoader resourceLoader;

public void someMethod() {
Resource resource = resourceLoader.getResource("file:my-file.xml");
InputStream is = null;
try {
is = resource.getInputStream();
// do work
....
} finally {
IOUtils.closeQuetly(is);
}
}

如果你想访问具有非固定路径的外部文件(非类路径资源,它应该位于存档中的 META-INF/resources 中)你应该将这些路径放在主属性文件中并在应用程序部署时加载它。

编辑:在示例中将@Resource 更改为@Inject

关于java - 如何使用字符串路径名在 WAR 中打开资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775363/

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