写文件中的数组android

标签: Java Android
发布时间: 2017/3/19 17:36:49
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

现在 i´ve 得到了我想要在一个文件中保存这两个数组

int var[][] = new int var[6][3]
int var_2[][] = new int var[7][5];

那么,有什么最好的方法来写这篇文章到一个文件?

I´ve 看到一些这样的例子

try {
  ObjectOutputStream objOut = new ObjectOutputStream(new
  FileOutputStream("data.dat"));
  objOut.writeObject(var_1);
  objOut.writeObject(var_2);
  objOut.close();
  }
catch (Exception e) {
e.printStackTrace();
}

我要做这个吗?然后如果我,如何再做我阅读它权我的变量?

解决方法 1:

你在做正确的概念,但还有改进的余地。首先,您应该使用 Android 日志记录设备 ( android.util.Log ) 而不是 e.printStackTrace() 。同时,如果你的 minSdkLevel 是 19 或更多,我推荐你使用尝试与资源语句︰

try (ObjectOutputStream objOut = new ObjectOutputStream(new
    FileOutputStream("data.dat")))
{
    objOut.writeObject(var_1);
    objOut.writeObject(var_2);
} catch (Exception e) {
    Log.e(LOG_TAG, "Could not save data", e);
}

( LOG_TAG 只是有些 String 您定义以确定您的类的输出.)如果您不能使用尝试与资源,我建议使用 finally 子句来关闭该流︰

ObjectOutputStream objOut = null;
try {
    objOut = new ObjectOutputStream(new FileOutputStream("data.dat"))
    objOut.writeObject(var_1);
    objOut.writeObject(var_2);
} catch (Exception e) {
    Log.e(LOG_TAG, "Could not save data", e);
} finally {
    if (objOut != null) {
        try {
            objOut.close();
        } catch (Exception e) {
            Log.e(LOG_TAG, "Could not close output file", e);
        }
    }
}

这可以确保即使在对的调用中引发异常,获取关闭输出流 writeObject

要读取回中,公正公开的数据 ObjectInputStream 到同一文件和数据读你写的顺序相同

官方微信
官方QQ群
31647020