[英]Get Resource (in project root path) from jar file
我想从运行的jar中读取文本文件(input.txt)。
我确实读过很多类似的问题,但是没有一个可以帮助我解决我的特定问题。
文件夹结构是这样的:
D:\\ Users \\ Nathaniel \\ git \\ projectfolder \\ src \\ main \\ java \\ folder1 \\ folder2 \\ files.java
我的input.txt文件在项目文件夹中。
主要方法是files.java。
我确实尝试过各种解决方案:例如:
InputStream is = new FileInputStream("input.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
要么:
Enumeration<URL> en = getClass().getClassLoader()
.getResources("");
List<String> profiles = new ArrayList<>();
System.out.println("vor while");
if (en.hasMoreElements()) {
System.out.println("in while");
URL url = en.nextElement();
JarURLConnection urlcon = (JarURLConnection) (url.openConnection());
try (JarFile jar = urlcon.getJarFile();) {
Enumeration<JarEntry> entries = jar.entries();
while (entries.hasMoreElements()) {
String entry = entries.nextElement().getName();
System.out.println(entry);
}
}
}
当我从eclipse和jar文件运行程序时,有没有可行的解决方案?
您可以将文件放在资源文件夹(src / main / resources)中吗? 这样,您可以使用以下方法进行检索:
BufferedReader reader =
new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/input.txt")));
System.out.println(reader.readLine());
reader.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.