有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

要将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")

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


共 (1) 个答案

  1. # 1 楼答案

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

    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,则应用程序没有写入该文件夹的权限(或该文件夹不存在)