001package arcommon.persistens; 002 003import java.io.FileInputStream; 004import java.io.FileOutputStream; 005import java.io.ObjectInputStream; 006import java.io.ObjectOutputStream; 007import java.io.Serializable; 008 009import arcommon.FileUtil; 010import arcommon.xml.XmlUtil; 011 012public class SerializableUtil { 013 public static Serializable loadObjectFromFile(String fileName) { 014 try { 015 FileInputStream fileInputStream = new FileInputStream(fileName); 016 ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); 017 Serializable object = (Serializable)objectInputStream.readObject(); 018 objectInputStream.close(); 019 fileInputStream.close(); 020 return object; 021 } catch (Exception e) { 022 throw new RuntimeException(e); 023 } 024 } 025 026 public static void saveObjectToFile(String fileName, Serializable object) { 027 try { 028 if (FileUtil.exists(fileName)) { 029 FileUtil.delete(fileName); 030 } 031 032 String path = FileUtil.calculatePath(fileName); 033 if (path != null && path.length() > 0) { 034 FileUtil.mkdirs(path); 035 } 036 037 FileOutputStream fileOutputStream = new FileOutputStream(fileName); 038 ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); 039 objectOutputStream.writeObject(object); 040 objectOutputStream.close(); 041 fileOutputStream.close(); 042 } catch (Exception e) { 043 throw new RuntimeException(e); 044 } 045 } 046 047 public static void saveObjectToFileAsXML(String fileName, Serializable object) { 048 XmlUtil.objectToXmlFile(fileName, object); 049 } 050 051 public static Serializable loadObjectFromFileAsXml(String fileName) { 052 return XmlUtil.xmlFileToObject(fileName); 053 } 054}