java序列化和反序列化 以及transient的意义ITeye - 娱乐之横扫全球

java序列化和反序列化 以及transient的意义ITeye

2019-01-11 05:47:34 | 作者: 念薇 | 标签: 序列化,实体类,不行 | 浏览: 2738

======================================Emoloyee实体类
package JavaHeigth.serializableTest;
import java.io.Serializable;

public class Employee  implements Serializable{
private static final long serialVersionUID = 3593458869057048152L;
public  String name ;
public String address;
public transient int SSN; //不行序列化状况 瞬态
public int number;
public void mailCheck(){
System.out.println("Mailing a check to " +name +"  "+address  );
}
}
======================================序列化
package JavaHeigth.serializableTest;

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

public class SerializeDemo {
public static void main(String[] args) {
Employee e = new Employee();
e.name="kaige";
e.address="北京海淀";
e.SSN=112233;
e.number=101;
try {
FileOutputStream fos = new FileOutputStream("f://employee.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(e);
oos.close();
fos.close();
System.out.println("序列化保存在f://employee.ser中");
} catch (Exception e2) {
// TODO: handle exception
System.out.println("反常");
e2.printStackTrace();
}

}
}

=============================反序列化
package JavaHeigth.serializableTest;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;

public class DeserializeDemo {
public static void main(String [] args)
  {
  Employee e = null;
  try
  {
  FileInputStream fileIn = new FileInputStream("f://employee.ser");
  ObjectInputStream in = new ObjectInputStream(fileIn);
  e = (Employee) in.readObject();
  in.close();
  fileIn.close();
  }catch(IOException i)
  {
  i.printStackTrace();
  return;
  }catch(ClassNotFoundException c)
  {
  System.out.println("Employee class not found");
  c.printStackTrace();
  return;
  }
  System.out.println("Deserialized Employee...");
  System.out.println("Name: " + e.name);
  System.out.println("Address: " + e.address);
  System.out.println("SSN: " + e.SSN);
  System.out.println("Number: " + e.number);
  }
}

SSN=0;原因是transient  变量不能被序列化
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    spring+mybatis装备ITeye

    装备,一下,需求
  • 3

    文件的读写和操作ITeye

    文件,字节,输出
  • 4

    ubuntu下python办理ITeye

    能够,咱们,经过
  • 5

    第03章 惯例选择器 (2)ITeye

    主页,选择器,运用
  • 6

    zookeeper原理(转)ITeye

    节点,集群,一个
  • 7
  • 8
  • 9
  • 10

    spring常用注释小结ITeye

    注释,变量,静态