我制作了一个将信息保存到二进制文件中的游戏,以便我可以在下次使用时离开游戏时开始。
我的问题是它在我的电脑上工作正常,因为我选择了一个已经存在的路径来保存文件,但是一旦我在另一台PC上运行游戏,我得到一个错误,说文件的路径无效(因为我显然还不存在。
基本上我使用File类创建文件,然后使用ObjectOutputStream和ObjectInputStream来读/写信息。
对于noob问题,我很抱歉使用文件。
答案 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()方法,因为它将创建所有不存在的父文件夹。
希望这可以帮助。祝你好运,玩得开心!
干杯,
高远