android数据保存目录

时间:2013-01-22 10:17:55

标签: android filesystems directory

我的应用程序主要是c ++(使用NDK)所以我使用fopenfwrite等标准函数来创建和游戏保存文件并写入文件。

当我使用fopen("game.sav", "wb")时,它似乎是在路径

创建的

/data/user/10/com.my.game/files/game.sav

我的应用是多用户。所以我希望有一个单独的文件夹,用户可以在其中存储他们的保存文件。而不是上面的路径,我想有像

这样的路径

/data/user/10/com.my.game/files/user0/game.sav

/data/user/10/com.my.game/files/user1/game.sav

我的应用程序的前端是Java,当注册新用户时,我想创建一个文件夹/data/user/10/com.my.game/files/user0/。但我不知道该怎么做,因为

final File newDir = context.getDir("user0", Context.MODE_PRIVATE);

导致在/data/user/10/com.my.game/app_user0处创建的路径是不同的路径。

可以在/data/user/10/com.my.game/files/以及如何创建文件夹吗?

1 个答案:

答案 0 :(得分:3)

简单的方法,这段代码你可以改变它适合很多条件。如果您知道您的路径与getFilesDir()获取的路径不同,那么您可以首先使用您知道的路径创建文件,最后两行代码仍然相同。

    File file = this.getFilesDir(); // this will get you internal directory path
    Log.d("BLA BLA", file.getAbsolutePath());
    File newfile = new File(file.getAbsolutePath() + "/foo"); // foo is the directory 2 create
    newfile.mkdir();

如果你知道“files”目录的路径:

     File newfile2 = new File("/data/data/com.example.stackoverflow/files" + "/foo2");
    newfile2.mkdir();

两个代码都有效。

工作证明:

Proof of working: