java 对象序列化

   对象的序列化的目标是将对象保存到磁盘中,或者在网络中传输。对象序列化机制允许把内存的java对象转换层与平台无关的二进制流。

   如果某个对象要进行序列化,则必须继承Serializable或Externalizable接口,一旦继承了这两个接口,此类的对象就是可序列化,并且每个对象在java序列化机制中至会序列化一次;在某个对象中引用了另外一个类的对象,则该类的对象也会被序列化,所以必须保证该类也是可序列化的类,但是如果想把一个类中的某个字段不被序列化,可以在字段声明是加关键字transient

   基本步骤

     1.创建一个ObjectOutputStream处理流

     2.调其方法writeObject()输出可序列化对象

		try {
			ObjectOutputStream obj = new ObjectOutputStream(
					new FileOutputStream("1.txt"));
			Pserson pe=new Pserson("xiong", 23);
			obj.writeObject(pe);
			

		} catch (Exception e) {
			e.printStackTrace();
		}
 


如果需要进行恢复Java对象,则需要进行反序列化;在反序列化时,必须按写入时的顺序来读取

 基本步骤:

    1.创建一个ObectInputStream处理流

     2.调用其方法readObject()读取流中的对象

ObjectInputStream obj = new ObjectInputStream(new FileInputStream(
					"1.txt"));
			Pserson pe = (Pserson) obj.readObject();
			System.out.println("name:" + pe.getName() + "  age:" + pe.getAge());



   

你可能感兴趣的:(java,二进制,对象的序列化)