【问题标题】:Save a binary file in the same folder for every PC为每台 PC 在同一文件夹中保存一个二进制文件
【发布时间】:2015-02-11 09:26:05
【问题描述】:

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

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

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

抱歉这个菜鸟问题,我对使用文件还是很陌生。

【问题讨论】:

  • 检查路径是否存在,如果不存在则先创建。
  • 使用exists方法判断文件/路径是否存在,如果不存在则创建。

标签: java file path binary


【解决方案1】:

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

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


希望这可以帮助。祝你好运,编程愉快!

干杯,

崇高

【讨论】:

  • 非常感谢!工作正常。
【解决方案2】:

您正在寻找File mkdirs()

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

例如:

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

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

考虑到它可能会由于文件权限的原因而失败。

【讨论】:

  • 非常感谢!工作正常。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-18
    • 2022-01-14
    • 1970-01-01
    • 2021-12-25
    • 2020-10-30
    • 2014-07-28
    • 2021-05-27
    • 1970-01-01
    相关资源
    最近更新 更多