How to write an ArrayList for a file and get it?

Now i am trying to use this

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

To save the "return list", which is an ArrayList, to the "CalEvents" file, now my question is, is this the right way to do this? and how to restore the list?

early

+5
source share
2 answers

Is that what you want to do?

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();
}

EDIT: Can be simplified:

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();
}

Assuming you are in a class that extends Context(e.g. Activity). If not, then you have to call a method openFileInput()on an object that extends Context.

+5
source

Use this method to write your Arraylist in a file

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();
    }
}

Full example here with reading method

0

All Articles