2012-08-28 7 views
5

अब उपयोग करने के लिए इसफ़ाइल को निकालने और पुनर्प्राप्त करने के लिए ArrayList को कैसे लिखें?

FileOutputStream fos = getContext().openFileOutput("CalEvents", Context.MODE_PRIVATE); 
    ObjectOutputStream oos = new ObjectOutputStream(fos); 
    oos.writeObject(returnlist); 
    oos.close(); 

क्रम में "returnlist" जो फ़ाइल "CalEvents" अब मेरा सवाल यह है कि करने के लिए एक ArrayList है, को बचाने के लिए है कि सही तरीके से यह करने के लिए है की कोशिश कर रहा im? और मैं सूची को वापस कैसे प्राप्त करूं?

अग्रिम धन्यवाद

+0

वापस पाने के लिए उपयोग ObjectInputStream() में अपने ArrayList लिखने के readObject()।; और ArrayList – Yahor10

उत्तर

5

क्या आप यह करना चाहते हैं?

FileInputStream fis; 
try { 
    fis = openFileInput("CalEvents"); 
    ObjectInputStream ois = new ObjectInputStream(fis); 
    ArrayList<Object> returnlist = (ArrayList<Object>) ois.readObject(); 
    ois.close(); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (ClassNotFoundException e) { 
    e.printStackTrace(); 
} 

संपादित करें: सरल बनाया जाना जा सकता है:

FileInputStream fis; 
try { 
    fis = openFileInput("CalEvents"); 
    ObjectInputStream ois = new ObjectInputStream(fis); 
    ArrayList<Object> returnlist = (ArrayList<Object>) ois.readObject(); 
    ois.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

यह मानते हुए कि आप एक वर्ग जो Context फैली (जैसे Activity) में हैं। यदि नहीं, तो आपको Context तक फैले किसी ऑब्जेक्ट पर openFileInput() विधि को कॉल करना होगा।

+0

का उदाहरण जांचें, धन्यवाद, :) :) –

0

इस विधि का उपयोग एक फ़ाइल

public static void write(Context context, Object nameOfClass) { 
    File directory = new File(context.getFilesDir().getAbsolutePath() 
      + File.separator + "serlization"); 
    if (!directory.exists()) { 
     directory.mkdirs(); 
    } 

    String filename = "MessgeScreenList.srl"; 
    ObjectOutput out = null; 

    try { 
     out = new ObjectOutputStream(new FileOutputStream(directory 
       + File.separator + filename)); 
     out.writeObject(nameOfClass); 
     out.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Complete example here, with Read method

+0

उल्लिखित लिंक काम नहीं करता है! क्या आप अपनी टिप्पणी अपडेट कर सकते हैं? –

+0

किया गया! @robot_alien –

संबंधित मुद्दे