您的位置:首页 > 编程语言 > Java开发

使用Java序列化把对象存储到文件中,再从文件中读出来

2016-10-02 15:54 603 查看
使用Java序列化把对象存储到文件中去,再从文件中读取出来;

此时,我们使用ObjectOutputStream和ObjectInputStream来进行对象的读取;

使用ObjectOutputStream对象的writeObject()方法来进行对象的写入;

使用ObjectInputStream对象的readObject()方法来读取对象。

[java] view
plaincopy

import java.io.FileInputStream;  

import java.io.FileNotFoundException;  

import java.io.FileOutputStream;  

import java.io.IOException;  

import java.io.ObjectInputStream;  

import java.io.ObjectOutputStream;  

import java.io.Serializable;  

import java.util.ArrayList;  

import java.util.Iterator;  

import java.util.List;  

import junit.framework.TestCase;  

/** 

 * 使用Java序列化把对象存储到文件中,再从文件中读出来 注意读取的时候,读取数据的顺序一定要和存放数据的顺序保持一致 

 *  

 * @author Champion Wong 

 *  

 */  

public class Test08 extends TestCase {  

    public void test() {  

        // 创建一个User对象  

        User user = new User();  

        user.setId(1);  

        user.setName("Mr XP.Wang");  

        // 创建一个List对象  

        List<String> list = new ArrayList<String>();  

        list.add("My name");  

        list.add(" is");  

        list.add(" Mr XP.Wang");  

        try { 
f920
 

            ObjectOutputStream os = new ObjectOutputStream(  

                    new FileOutputStream("C:/wxp.txt"));  

            os.writeObject(user);// 将User对象写进文件  

            os.writeObject(list);// 将List列表写进文件  

            os.close();  

        } catch (FileNotFoundException e) {  

            e.printStackTrace();  

        } catch (IOException e) {  

            e.printStackTrace();  

        }  

        try {  

            ObjectInputStream is = new ObjectInputStream(new FileInputStream(  

                    "C:/wxp.txt"));  

            User temp = (User) is.readObject();// 从流中读取User的数据  

            System.out.println(temp.getId());  

            System.out.println(temp.getName());  

            List tempList = (List) is.readObject();// 从流中读取List的数据  

            for (Iterator iterator = tempList.iterator(); iterator.hasNext();) {  

                System.out.print(iterator.next());  

            }  

            is.close();  

        } catch (FileNotFoundException e) {  

            e.printStackTrace();  

        } catch (IOException e) {  

            e.printStackTrace();  

        } catch (ClassNotFoundException e) {  

            e.printStackTrace();  

        }  

    }  

}  

class User implements Serializable {  

    private int id;  

    private String name;  

    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;  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐