package com.github.lazylibrary.util; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * Serialize Utils * * @author Trinea 2012-5-14 */ public class SerializeUtils { private SerializeUtils() { throw new AssertionError(); } /** * Deserialization object from file. * * @param filePath file path * @return de-serialized object * @throws RuntimeException if an error occurs */ public static Object deserialization(String filePath) { ObjectInputStream in = null; try { in = new ObjectInputStream(new FileInputStream(filePath)); Object o = in.readObject(); in.close(); return o; } catch (FileNotFoundException e) { throw new RuntimeException("FileNotFoundException occurred. ", e); } catch (ClassNotFoundException e) { throw new RuntimeException("ClassNotFoundException occurred. ", e); } catch (IOException e) { throw new RuntimeException("IOException occurred. ", e); } finally { IOUtils.close(in); } } /** * Serialize object to file. * * @param filePath file path * @param obj object * @throws RuntimeException if an error occurs */ public static void serialization(String filePath, Object obj) { ObjectOutputStream out = null; try { out = new ObjectOutputStream(new FileOutputStream(filePath)); out.writeObject(obj); out.close(); } catch (FileNotFoundException e) { throw new RuntimeException("FileNotFoundException occurred. ", e); } catch (IOException e) { throw new RuntimeException("IOException occurred. ", e); } finally { IOUtils.close(out); } } }