Java tutorial
//package com.java2s; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Main { @SuppressWarnings("unchecked") public static Parcelable readParcelable(Context context, String fileName, ClassLoader classLoader) { Parcelable parcelable = null; FileInputStream fis = null; ByteArrayOutputStream bos = null; try { fis = context.openFileInput(fileName); if (fis != null) { bos = new ByteArrayOutputStream(); byte[] b = new byte[4096]; int bytesRead; while ((bytesRead = fis.read(b)) != -1) { bos.write(b, 0, bytesRead); } byte[] data = bos.toByteArray(); Parcel parcel = Parcel.obtain(); parcel.unmarshall(data, 0, data.length); parcel.setDataPosition(0); parcelable = parcel.readParcelable(classLoader); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); parcelable = null; } finally { if (fis != null) try { fis.close(); } catch (IOException e) { e.printStackTrace(); } if (bos != null) try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } return parcelable; } }