Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java libGDX ObjectOutputStream写入失败,FileNotFoundException_Java_Android_Libgdx - Fatal编程技术网

Java libGDX ObjectOutputStream写入失败,FileNotFoundException

Java libGDX ObjectOutputStream写入失败,FileNotFoundException,java,android,libgdx,Java,Android,Libgdx,我想用ObjectOutputStream保存Libgdx游戏中的设置。这在桌面上工作。 但当我运行android应用程序时,它会崩溃,因为: 02-19 12:36:33.500:W/System.err20329:java.io.FileNotFoundException:/save.data:open失败:没有这样的文件或目录 如何将其保存到资产文件夹中的android软件包中 我的代码是: public void saveSettingsOut(){ try{ O

我想用ObjectOutputStream保存Libgdx游戏中的设置。这在桌面上工作。 但当我运行android应用程序时,它会崩溃,因为:


02-19 12:36:33.500:W/System.err20329:java.io.FileNotFoundException:/save.data:open失败:没有这样的文件或目录

如何将其保存到资产文件夹中的android软件包中

我的代码是:

public void saveSettingsOut(){
    try{
        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("data/save.set"));
        out.writeObject(settingsMap);
        out.close();
    }catch(Exception e){
        e.printStackTrace();
    }
}
请不要建议我使用首选项,因为我希望对数据进行编码


或者有没有更好的方法?我想保存两个哈希图,一个是整数,一个是布尔值。

在Android上运行时,应用程序的工作目录中不存在数据目录。桌面和Android以及iOS和GWT版本的Libgdx应用程序的文件系统布局非常不同。您应该使用libgdxapi来获取存储系统的正确部分。请参阅Libgdx本地文件处理矩阵:

您需要Libgdx本地文件存储,请尝试使用:

new FileOutputStream(Gdx.files.local("save.set"))

请包括您在崩溃中看到的完整错误。其中的内容不存在?02-19 12:36:33.500:W/System.err20329:java.io.FileNotFoundException:/save.data:open失败:没有这样的文件或目录。。。就像我说的没有文件存在。。。。