gpt4 book ai didi

java - 从类路径文件获取输入流

转载 作者:太空狗 更新时间:2023-10-29 14:55:38 26 4
gpt4 key购买 nike

看完this问题,我在从使用 IntelliJ 构建的 Maven 项目的类路径中读取文件时尝试了以下操作:

public class testTemplateManager {

private TemplateManager templateManager;
private String m_includePath;

public void createTemplateManager() {
String relativePath = "/src/main/java/com/eprosima/templates";
String fileName = "idlTypes.stg";
String filePath = relativePath + "/" + fileName;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream res = classLoader.getResourceAsStream(var4);
if(res == null) {
classLoader = this.getClass().getClassLoader();
res = classLoader.getResourceAsStream(var4);
}

if(res != null) {
return new BufferedReader(getInputStreamReader(res));
}
}

无论relativePath(相对于项目根目录)如何,资源res 始终为空。我尝试使用以下路径获得相同的结果:

String relativePath = "src/main/java/com/eprosima/templates";
String relativePath = "src/main/java/com.eprosima/templates";

类路径如下:

enter image description here

我需要阅读位于 /src/main/java/com/eprosima/templates 中的模板文件。

最佳答案

String relativePath = "/src/main/java/com/eprosima/templates";

问题就在这里。 src/main/java 不是类路径的一部分。它在运行时不以任何方式存在。应该是

String relativePath = "/com/eprosima/templates";

关于java - 从类路径文件获取输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31806777/

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