Java 为每台电脑在同一文件夹中保存一个二进制文件

Java 为每台电脑在同一文件夹中保存一个二进制文件,java,file,path,binary,Java,File,Path,Binary,我正在制作一个游戏,将信息保存到一个二进制文件中,这样我就可以在下次使用时从离开游戏的那一点开始 我的问题是,它在我的电脑上工作正常,因为我选择了一个已经存在的路径来保存文件,但一旦我在另一台电脑上运行游戏,我就会收到一个错误,说文件的路径无效,因为我显然还不存在 基本上,我使用File类来创建文件,然后使用ObjectOutputStream和ObjectInputStream来读取/写入信息 很抱歉,我还不太熟悉使用文件。您正在寻找的 这将创建路径中命名的所有必要目录 例如: File di

我正在制作一个游戏,将信息保存到一个二进制文件中,这样我就可以在下次使用时从离开游戏的那一点开始

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

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

很抱歉,我还不太熟悉使用文件。

您正在寻找的

这将创建路径中命名的所有必要目录

例如:

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

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

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

我的解决方案是在用户的主目录System.getPropertyuser.home中创建一个子目录,如

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

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

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方法更有用,因为它将创建所有不存在的父文件夹

希望这有帮助。祝你好运,编程愉快

干杯


检查路径是否存在,如果不存在,请先创建它。使用该方法确定文件/路径是否存在,如果不存在,请创建它。非常感谢!很好,非常感谢!很好。