eclipse中的java文件相对路径
三天我试图弄清楚如何使用相对文件路径读取文件。 在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"); }
这是我的项目文件的屏幕截图
文件http://img207.imageshack.us/img207/5317/63432445.png
我试过使用扫描仪function,仍然是相同的结果,它在eclipse中工作,但在导出时不起作用。 这是错误消息:
错误http://img98.imageshack.us/img98/1771/greskaa.png
我敢打赌,如果你把那个文件放到类路径中它会起作用。
像这样更改你的代码:
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"); }
试试看吧。
之所以发生这种情况是因为你的文件是作为jar
文件的一部分导出的,所以,为了创建jar
文件,尝试使用ant
或maven
或semething,或者手动将你的文件与jar一起复制到目录中,它会调用start directory
。