持久化操作(寫入文件)


        FileOutputStream fos = new FileOutputStream("persion.obj");
        ObjectOutputStream oos= new ObjectOutputStream(fos);

        List<String> list = new ArrayList<String>();
        list.add("name1");
        list.add("name2");
        list.add("name3");

        Person person = new Person("name1", 20, 1, list);
        oos.writeObject(person);
        oos.close();
        fos.close();

        FileInputStream fis = new FileInputStream("persion.obj");
        ObjectInputStream ois = new ObjectInputStream(fis);
        Person p = (Person) ois.readObject();
        // equal
        System.out.println(p.equals(person));
        // ==
        System.out.println(p == person);
        // out
        System.out.println(p);
        ois.close();
        fis.close();


     /**
     * 用於測試序列化的類
     * @author Heying
     *
     */
public class Person implements Serializable {
    private String name;
    private int age;
    private int sex;
    private transient List<String> other;

    public Person(String name, int age, int sex, List<String> other) {
        super();
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.other = other;
    }

    @Override
    public String toString() {
        return "name="+name+"age="+age+"sex="+sex+"other="+other;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Person other = (Person) obj;
        if (age != other.age)
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        if (this.other == null) {
            if (other.other != null)
                return false;
        } else if (!this.other.equals(other.other))
            return false;
        if (sex != other.sex)
            return false;
        return true;
    }

}

發佈了63 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章