【问题标题】:Read string array from internal storage从内部存储读取字符串数组
【发布时间】:2013-11-02 11:19:15
【问题描述】:

我已经在论坛上搜索了一段时间,但找不到我的问题。我看到很多关于如何将字符串数组写入内部存储的示例,但没有看到如何再次读取它们。

我有一个字符串数组,它由以下方式保存:

String FILENAME = "data1";
fos = openFileOutput(FILENAME, Context.MODE_APPEND);
for(int j=1;j<=PupilAmount;j++) {  
    fos.write(pup[j].getBytes());  
} 
fos.close();

但是如何再次读取变量,并将其保存在我的新 Activity 的新变量中?

【问题讨论】:

    标签: java android arrays storage internal


    【解决方案1】:

    字符串数组是可序列化的。所以你可以在一个文件上序列化它

    FileOutputStream fout = openFileOutput(FILENAME, Context.MODE_APPEND);
    ObjectOutputStream oos = new ObjectOutputStream(fout);
    oos.writeObject(pup);
    oos.close();
    

    并以这种方式回读:

    FileInputStream fin = openFileInput(FILENAME, Context.MODE_APPEND);
    ObjectInputStream ois = new ObjectInputStream(fin);
    String[] pup = (String[]) ois.readObject();
    ois.close()
    

    【讨论】:

    • 哇。这听起来很容易。那么文件是否能够以这种方式包含多个对象呢?
    • 是的,也是复杂对象,但是这些对象必须实现可序列化接口,否则无法写入
    猜你喜欢
    • 2015-01-31
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 2012-05-13
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多