打包成 JAR 时 Java 读写文件

问题描述 投票:0回答:0

在我的 CS 学位中,我学到了用 Java 访问文件的最佳方法是使用以下代码从资源文件夹中获取文件:

// get path of resource folder
URL resource = Controller.class.getResource(filename);
File myFile = new File(resource.toURI());
BufferedReader br = new BufferedReader(new FileReader(myFile));

但是,当我将我的应用程序打包到一个 jar 中并运行它时,它无法写入内部文件(在资源文件夹中)所以我使用此代码:

String separator = System.getProperty("file.separator");
BufferedWriter writer = new
BufferedWriter(new FileWriter("." + separator + scoresFile));

这使代码可以访问与 jar 位于同一目录中的文件,但最后一个问题是,当我通过双击而不是通过终端打开 jar 时,它无法再访问该文件。

有人可以让我知道我的方法是否在正确的轨道上或为我指明正确的方向吗?

java jar read-write file-access
© www.soinside.com 2019 - 2024. All rights reserved.