我已将对象保存到myfile.txt中。我对如何从内部存储中读取对象感到困惑。有谁能够帮我?我想在类似于备忘录应用程序的应用程序中使用该对象的一部分。
答案 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)并创建解析器,重新创建具有给定值的对象。这只适用于具有简单数据类型的简单对象。