1

三天我试图弄清楚如何使用相对文件路径读取文件。在 Eclipse 中,它可以编译并且效果很好,但是当我导出 app. 它说它找不到文件。这是我正在处理的屏幕截图和代码。

此代码有效,但仅在 Eclipse 中,它可以编译并完美地完成工作。但是当我将它导出为可运行的 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 中有效,但在导出时无效。这是错误消息:

错误

4

2 回答 2

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");
}

试试看。

于 2012-06-17T18:24:28.810 回答
0

发生这种情况是因为您的文件是作为文件的一部分jar导出的,因此,为了创建jar文件,请尝试使用antormaven或其他东西,或者使用您的 jar 手动将您的文件复制到目录中,它调用start directory.

于 2012-06-17T18:26:07.953 回答