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

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

2013-03-28 22:47 609 查看
使用Java序列化把对象存储到文件中去,再从文件中读取出来。

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

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

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

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