eclipse中的java文件相对路径

时间:2012-06-17 18:19:54

标签: java file path io bufferedreader

三天我试图弄清楚如何使用相对文件路径读取文件。在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");

    }

这是我的项目文件的屏幕截图

files http://img207.imageshack.us/img207/5317/63432445.png

我尝试过使用扫描仪功能,结果仍然相同,它在eclipse中工作,但在导出时不起作用。以下是错误消息:

error http://img98.imageshack.us/img98/1771/greskaa.png

2 个答案:

答案 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