从app中包含的文件加载android数组

时间:2012-11-22 13:51:44

标签: java android arrays save

我一直在寻找并且无法弄清楚如何做到这一点。 我正在创建一个基于块的游戏,让我们说屏幕上有3x3块,每个块都有一个int关联来知道它是哪种类型:

int[][] blocksArray = {
    { 0, 0, 0 }
    { 0, 0, 1 }
    { 0, 0, 0 }
};

我基本上想要做的就是像这样将50个多维数组保存到一个文件中,让我们说“levels.txt”就像这样:

int[][] level1 = {
    { 0, 0, 0 }
    { 0, 0, 1 }
    { 0, 0, 0 }
};
...
int[][] level50 = {
    { 0, 0, 0 }
    { 0, 0, 0 }
    { 0, 0, 0 }
};

这是解决问题的好方法吗?有更好的方法吗?

我真的不想创建一个我的数组的字符串并将它们保存到共享的首选项中,因为我需要手动编辑很多级别数组,我想要这种格式,或者可能是一种非常类似的方式做到了吗?

1 个答案:

答案 0 :(得分:1)

您可以使用java.io.ObjectOutputStream();

将数组保存在文件中
    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("file"));
    oos.writeObject(level1);
    ...
    oos.writeObject(level50);

然后读回你的数组:

    ObjectInputStream ois = new ObjectInputStream(new FileInputStream("file"));
    level1 = (int[]][])ois.readObject();
    ...
    level50 = (int[]][])ois.readObject();

如果它真的是你想要的