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

时间:2013-05-11 13:35:51

标签: java file-io io

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

直到今天我才在这个目录中创建文件:

Scanner

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

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

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

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

我如何在系统的某处创建,编辑和阅读文本文件?

1 个答案:

答案 0 :(得分:2)

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

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,则应用程序无权写入该文件夹(或者它不存在)。