如何从内部存储中读取对象?

时间:2011-04-23 04:37:44

标签: java android

我已将对象保存到myfile.txt中。我对如何从内部存储中读取对象感到困惑。有谁能够帮我?我想在类似于备忘录应用程序的应用程序中使用该对象的一部分。

2 个答案:

答案 0 :(得分:2)

你是如何保存这些物品的?某种序列化?您是否实现了java.io.Serializable

从内部存储中读取文本文件非常简单:

    FileInputStream fis;
    try {
        fis = openFileInput("myfile.txt");
        InputStreamReader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);
        String data = br.readLine();
        Log.i("Reading file" , data);
    } catch (FileNotFoundException e) {
        Log.w("Reading file" , "Unable to open file");
    } catch (IOException e) {
        Log.w("Reading file" , "Error reading file");
    }

所以,基本上,你现在唯一需要添加的是一种解析你保存的txt文件的方法,如果你知道格式就不会那么困难......

答案 1 :(得分:0)

toString()不应该用于编写对象。只要您没有覆盖自己类中的toString(),它就只会提示对象ID。您只能使用此ID来重新创建对象。

要将对象保存在文件中,您应该阅读有关序列化的内容。

另一种适用于简单对象的可能性是覆盖toString()以特定方式打印所有存储的数据(如csv,xml)并创建解析器,重新创建具有给定值的对象。这只适用于具有简单数据类型的简单对象。

相关问题