我想从我正在运行的jar中读取一个文本文件(input.txt)。
我确实阅读了很多类似的问题,但没有一个可以帮助我解决我的具体问题。
文件夹结构是这样的:
d:\用户\纳撒尼尔\ GIT中\ projectfolder \ SRC \主\的java \ folder1中\文件夹2 \ 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文件运行程序时是否有解决方案?
答案 0 :(得分:0)
您可以将文件放在资源文件夹(src / main / resources)中吗?这样你就可以通过以下方式检索:
BufferedReader reader =
new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/input.txt")));
System.out.println(reader.readLine());
reader.close();