Eclipse中的Java文件相对路径

java file relative path in eclipse

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

此代码有效,但仅在eclipse中可以编译,并且可以完美地工作。但是当我将其导出为可运行的jar文件时,出现错误,无法找到licenca.txt

1
2
3
4
5
6
7
 BufferedReader in = new BufferedReader(new FileReader(new File("licenca.txt").getPath()));
        String str;
        while ((str = in.readLine()) != null) {
      taLicenca.append(str +"\
"
);
     
    }

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

files

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

error


我敢打赌,如果您将该文件放入类路径,它将起作用。

像这样更改代码:

1
2
3
4
5
6
7
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 +"\
"
);
}

尝试一下。


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