2011-04-23 41 views
0

我已將對象保存到myfile.txt中。我對如何從內部存儲讀取對象感到困惑。有誰能夠幫助我?我想在類似於備忘錄應用的應用中使用該對象的一部分。如何從內部存儲讀取對象?

回答

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文件,這不應該如果您知道格式,那麼這麼難......

0

toString()不應該用於寫入對象。只要你沒有在你自己的課程中覆蓋toString(),它只會提示對象ID。您不能僅使用此ID重新創建對象。

要保存一個文件中的對象,你應該閱讀關於序列化。

對簡單對象起作用的另一種可能性是覆蓋toString()以特定方式(如csv,xml)打印所有存儲的數據,並創建一個解析器,用給定值重新創建對象。這隻適用於簡單數據類型的簡單對象。