关于序列化和对象流

来源:互联网 发布:asp.net 电商源码 编辑:程序博客网 时间:2024/05/17 12:54

一、对象序列化:
1.在做对象数据传输时,由于对象中的数据很庞大。在传输之前,需要将对象打散成字节序列,以利于传输。这个过程叫序列化过程。

2.达到目的地后,又需要将字节序列还原成对象,这叫反序列化过程。

 

二、对象流使用示例:

package com;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;public class ObjectStreamTest {/** * 写入对象 *  * @param obj *            要写入文件的对象 */public void writerObj(Object obj) {OutputStream out = null;// 写入流ObjectOutputStream objOut = null;// 对象写入流try {out = new FileOutputStream("2.txt");objOut = new ObjectOutputStream(out);objOut.writeObject(obj); // 写入对象} catch (Exception e) {e.printStackTrace();} finally {try {// 关闭流objOut.close();out.close();} catch (IOException e) {e.printStackTrace();}}}/** * 读取文件,返回文件中写入的对象 *  * @return * @throws */public Student read() {InputStream in = null;// 读取流ObjectInputStream objIn = null;// 对象读取流try {in = new FileInputStream("2.txt");objIn = new ObjectInputStream(in);// 读取对象Object obj = objIn.readObject();// 读取对象return (Student) obj;} catch (Exception e) {e.printStackTrace();} finally {try {// 关闭流objIn.close();in.close();} catch (IOException e) {e.printStackTrace();}}return null;}public static void main(String[] args) {ObjectStreamTest t = new ObjectStreamTest();t.writerObj(new Student(1, "张三", "男"));Student s = t.read();System.out.println(s.getId() + "  " + s.getName() + "  " + s.getSex());}}


 

package com;import java.io.Serializable;public class Student implements Serializable {private int id;private String name;private transient String sex;// transient修饰属性的关键字,对象序列化时,该属性的值不作传输public Student() {super();}public Student(int id, String name, String sex) {super();this.id = id;this.name = name;this.sex = sex;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}}


 

 

原创粉丝点击