[IO]——对象处理流.序列化

来源:互联网 发布:域名一般买几年 编辑:程序博客网 时间:2024/05/16 15:52
/** * 不是所有的对象都可以序列化 * 不是所有的属性都需要序列化   transient * @author Administrator * */public class ObjectDemo01 {public static void main(String[] args) throws IOException, ClassNotFoundException {seri("E:/others/12345.txt");read("E:/others/12345.txt");}//反序列化public static void read(String destPath) throws IOException, ClassNotFoundException{//创建源File dest=new File(destPath);//选择流ObjectOutputStreamObjectInputStream dis=new ObjectInputStream(new BufferedInputStream(new FileInputStream(dest)));//写出操作 ,写出顺序Object obj=dis.readObject();if(obj instanceof Employee){Employee emp=(Employee)obj;System.out.println(emp.getName());System.out.println(emp.getSalary());}obj=dis.readObject();int[] arr=(int[])obj;System.out.println(Arrays.toString(arr));dis.close();}//序列化public static void seri(String destPath) throws IOException{Employee emp=new Employee("山大王", 12000);int[] arr={1,2,3,4};//创建源File dest=new File(destPath);//选择流ObjectOutputStreamObjectOutputStream dos=new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dest)));//写出操作 ,写出顺序dos.writeObject(emp);dos.writeObject(arr);dos.close();}}

/** * 空接口知识标识 * @author Administrator * */public class Employee implements java.io.Serializable{private transient String name;//不需要序列化private double salary;public Employee() {// TODO Auto-generated constructor stub}public Employee(String name, double salary) {super();this.name = name;this.salary = salary;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}}

0 0
原创粉丝点击