三天我试图弄清楚如何使用相对文件路径读取文件。在eclipse中,这个编译并且工作得很好,但是当我导出app时。它说它找不到文件。这是我工作的截图和代码。
此代码有效,但只有在eclipse中,它才能完美地编译并完成工作。但当我导出它作为runnable jar文件我得到一个错误,它无法找到licenca.txt
BufferedReader in = new BufferedReader(new FileReader(new File("licenca.txt").getPath()));
String str;
while ((str = in.readLine()) != null) {
taLicenca.append(str + "\n");
}
这是我的项目文件的屏幕截图
我尝试过使用扫描仪功能,结果仍然相同,它在eclipse中工作,但在导出时不起作用。以下是错误消息:答案 0 :(得分:6)
如果你将该文件放入类路径中,我敢打赌它会起作用。
更改您的代码:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("licenca.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(is));
String str;
while ((str = in.readLine()) != null) {
taLicenca.append(str + "\n");
}
试一试,看看。
答案 1 :(得分:0)
这是因为您的文件作为jar
文件的一部分导出,因此,要创建jar
文件,请尝试使用ant
或{{1}或者别的,或者用你的jar手动将文件复制到目录中,它会调用maven
。