我的旧版本有效,但如果我尝试导出到可运行的Jar文件,它就不会加载txt文件。
public String jarLocation = getClass().getProtectionDomain()
.getCodeSource().getLocation().getPath();
public File txt = new File(jarLocation + "/images/gewinne.txt");
之后我尝试使用获取资源,但文件无法加载URL部分:/我迷路了
public URL urlGewinne = Kalender.class.getResource("/images/gewinne.txt");
public File txt = new File(urlGewinne); // ERROR
public void txtLesen() throws IOException {
try {
BufferedReader br = new BufferedReader(new FileReader(txt));
String line = null;
while ((line = br.readLine()) != null) {
gewinne.add(line);
}
br.close();
} catch (FileNotFoundException ex) {
}
}
答案 0 :(得分:1)
原因很明显:资源不是文件。 从jar文件中获取的资源是这个jar的一部分,jar的条目,无论如何,但不是文件系统中的单独文件。
然而,好消息是你根本不需要文件。如果成功获得资源,您可以直接获取其流并从此流中读取:
更改行
URL urlGewinne = Kalender.class.getResource("/images/gewinne.txt");
到
InputStream urlGewinne = Kalender.class.getResourceAsStream("/images/gewinne.txt");
和这一行:
BufferedReader br = new BufferedReader(new FileReader(txt));
到
BufferedReader br = new BufferedReader(new InputStreamReader(txt));
其余代码应该有效。