자바 에서 Object OutputStream 과 Object InputStream 의 사용

3111 단어
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;

/**
 *      。
 *             
 * ObjectOutputStream  java              OutputStream。
 * ObjectOutputStream                          。
 *                   ,        ,            java.io.Serializable  。
 *
 *         ,            :
 * 1.                ,                               ,           ,                ,      。
 *
 * 2.          。
 *
 * 3.      ,      serialVersionUID    ,            。    ,                   。
 *     serialVersionUID    。  :      ,              ,             Serializable  ,               。
 *
 *              。!!
 *
 *   :         ,                ,              transient      。         ,        ,              。
 *
 * @author print
 *
 */
public class Demo1 {

    public static void main(String[] args) {
        wirteObj();
        readObj();
    }

    public static void readObj() {
        try {
            InputStream in = new FileInputStream("d:\\p.info");
            ObjectInputStream ois = new ObjectInputStream(in);
            Object readObject = ois.readObject();
            System.out.println(readObject);
            ois.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        
    }

    public static void wirteObj() {
        try {
            OutputStream os = new FileOutputStream("d:\\p.info");
            ObjectOutputStream oos = new ObjectOutputStream(os);
            //           
            Person p = new Person("zy", "22","nv");
    
            //          
            oos.writeObject(p);
            oos.close();
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
}

Person :

import java.io.Serializable;


public class Person implements Serializable{

    private String name;
    private String age;
    private transient String sex;
    
    
    public Person() {
        super();
    }
    
    
    public Person(String name, String age, String sex) {
        super();
        this.name = name;
        this.age = age;
        this.sex = sex;
    }


    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }


    public String toString() {
        return "Person [name=" + name + ", age=" + age +",sex=" +sex+"]";
    }
    
    
}



좋은 웹페이지 즐겨찾기