java将系列化后的对象保存在文件中,及反系列化 (ObjectInputStream,ObjectOutputStream)

来源:互联网 发布:wpf编程宝典c 编辑:程序博客网 时间:2024/05/19 23:59
package stream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class ObjectOperator<T> {public static void main(String[] args) {// TODO Auto-generated method stubObjectOperator<Person> oo = new ObjectOperator<Person>();oo.writerObject("d:\\test\\test.txt", new Person("gfdonx",20));Person p = oo.readerObject("d:\\test\\test.txt");System.out.println(p.toString());}@SuppressWarnings("unchecked")public T readerObject(String path){Object o = null;File file = new File(path);FileInputStream fis = null;ObjectInputStream ois = null;try {fis = new FileInputStream(file);ois = new ObjectInputStream(fis);o = ois.readObject();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally{try {if(ois != null)ois.close();if(fis != null)fis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return (T) o;}public boolean writerObject(String path,T t1){boolean success = false;File file = new File(path);FileOutputStream fos = null;ObjectOutputStream oos = null;try {fos = new FileOutputStream(file);oos = new ObjectOutputStream(fos);oos.writeObject(t1);success = true;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally{try {if(fos != null)fos.flush();if(oos != null)oos.flush();if(oos != null)oos.close();if(fos != null)fos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return success;}}


0 0