java序列化与反序列化操作实例分析
程序员文章站
2024-03-11 22:24:13
本文实例分析了java序列化与反序列化操作。分享给大家供大家参考,具体如下:
概述:
java序列化是指把java对象转换为字节序列的过程;而java反序列化是指把字节...
本文实例分析了java序列化与反序列化操作。分享给大家供大家参考,具体如下:
概述:
java序列化是指把java对象转换为字节序列的过程;而java反序列化是指把字节序列恢复为java对象的过程。
示例代码:
import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.ioexception; import java.io.objectinputstream; import java.io.objectoutputstream; import java.io.serializable; import java.util.arraylist; import java.util.date; import java.util.hashmap; import java.util.list; public class test { /** * @param args */ public static void main(string[] args) { try { objectoutputstream out = new objectoutputstream(new fileoutputstream("d:/objectfile.obj")); customer customer = new customer("中国人",23); out.writeobject("你好!"); out.writeobject(new date()); out.writeobject(customer); out.writeint(123); list list = new arraylist(); int i =0 ; while(i<100) { customer customer2 = new customer("中国人",i); list.add(customer2); i++; } hashmap hashmap = new hashmap(); hashmap.put("customer", list); out.writeobject(hashmap); out.close(); objectinputstream in = new objectinputstream(new fileinputstream("d:/objectfile.obj")); system.out.println("obj1= " + (string) in.readobject()); system.out.println("obj2= " + (date) in.readobject()); customer obj3 = (customer) in.readobject(); system.out.println("obj3= " + obj3); int obj4 = in.readint(); system.out.println("obj4= " + obj4); object obj5 = in.readobject(); system.out.println(obj5); hashmap hash_map = (hashmap)obj5; list l = (list) hash_map.get("customer"); system.out.println("size: " + l.size()); for(int ii=0; ii<l.size() -1 ; ii++) { customer c = (customer)l.get(ii); system.out.println(c.getname()); system.out.println(c.getage()); } in.close(); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } catch (classnotfoundexception e) { e.printstacktrace(); } } } class customer implements serializable { private static final long serialversionuid = 1l; private string name; private int age; public string getname() { return name; } public int getage() { return age; } public customer(string name, int age) { this.name = name; this.age = age; } public string tostring() { return "name=" + name + ", age=" + age; } }
希望本文所述对大家java程序设计有所帮助。