gpt4 book ai didi

java - 创建/写入/读取 Jar 存档外部的文本文件

转载 作者:行者123 更新时间:2023-12-02 07:02:17 26 4
gpt4 key购买 nike

要将 Java 编程的视频游戏的状态保存在文本文件中(这是学校项目的练习,我不能使用序列化),我必须创建一个文本文件并在其中写入 PrintWriter,然后用Scanner读取。

直到今天我都在此目录中创建文件:

PrintWriter vPW;
try {vPW = new PrintWriter("./saves/" + vFileName + ".txt");}
catch (final IOException pExp) {
player.getGUI().println("Failed to create the file.");
return;
}

现在我已经创建了项目的 Jar 存档,我意识到运行程序时无法在存档中创建文件。

我尝试使用这些目录创建一个文件,但它们都不起作用:

vPW = new PrintWriter(System.getProperty("user.home") + "/gamesaves/" + vNomFichier + ".txt")

vPW = new PrintWriter("C:/saves/" + vFileName + ".txt")

如何在系统上的某个位置创建、编辑和读取文本文件?

最佳答案

您可能需要先创建文件夹:

final File folder = new File(System.getProperty("user.home"), "gamesaves");
if(!folder.exists() && !folder.mkDirs()) {
//failed to create the folder, probably exit
throw new RuntimeException("Failed to create save directory.");
}
final File myFile = new File(folder, vNomFichier + ".txt");
final PrintWriter pw = new PrintWriter(myFile);

您还可以使用 folder.canWrite() 检查您的应用程序是否允许在您要求的位置写入。如果返回 false,则应用程序无权写入该文件夹(或者该文件夹不存在)。

关于java - 创建/写入/读取 Jar 存档外部的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com