将二进制文件保存在每台PC的同一文件夹中

时间:2014-12-12 16:06:15

标签: java file path binary

我制作了一个将信息保存到二进制文件中的游戏,以便我可以在下次使用时离开游戏时开始。

我的问题是它在我的电脑上工作正常,因为我选择了一个已经存在的路径来保存文件,但是一旦我在另一台PC上运行游戏,我得到一个错误,说文件的路径无效(因为我显然还不存在。

基本上我使用File类创建文件,然后使用ObjectOutputStream和ObjectInputStream来读/写信息。

对于noob问题,我很抱歉使用文件。

3 个答案:

答案 0 :(得分:0)

您正在寻找File mkdirs()

这将创建路径中指定的所有必需目录。

例如:

File dirs= new File("/this/path/does/not/exist/yet");
dirs.mkdir();

File file = new File(dirs, "myFile.txt");

考虑到由于适当的文件权限,它可能会失败。

答案 1 :(得分:0)

我的解决方案是在用户的主目录(System.getProperty(“user.home”))中创建一个子目录,如

File f = new File(System.getProperty("user.home") + "/CtrlAltDelData");
f.mkdir();
File mySaveFile = new File (f, "save1.txt");

答案 2 :(得分:0)

您必须先检查目录是否存在,如果该目录不存在,则必须创建该目录。

String folderPath = System.getProperty("user.home") + System.getProperty("file.separator") + "MyFolder";
File folder = new File(folderPath);     

 if(!folder.exists())
 {
    folder.mkdirs();
 }

 File saveFile = new File(folderPath, "fileName.ext");



请注意,在这种情况下,mkdirs()方法更有用,而不是mkdir()方法,因为它将创建所有不存在的父文件夹。


希望这可以帮助。祝你好运,玩得开心!

干杯,

高远