黑马程序员技术交流社区
标题:
关于对象序列化的问题
[打印本页]
作者:
高会仁
时间:
2012-12-12 11:02
标题:
关于对象序列化的问题
本帖最后由 高会仁 于 2012-12-12 11:04 编辑
import java.io.*;
/**
* 把对象存储在硬盘叫做对象的持久化存储,也叫对象的序列化
* 对象的序列化
* */
public class ObjectStreamDemo {
/**
* @param args
* @throws IOException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws IOException, ClassNotFoundException {
// writeObj();
readObj();
}
public static void readObj() throws FileNotFoundException, IOException, ClassNotFoundException{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
//笨方法取出4个Person对象
Person p1 = (Person) ois.readObject();
Person p2 = (Person) ois.readObject();
Person p3 = (Person) ois.readObject();
Person p4 = (Person) ois.readObject();
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
System.out.println(p4);
ois.close();
}
/**
* 将对象Person存储起来放在obj.txt中
* */
public static void writeObj() throws IOException{
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt"));
oos.writeObject(new Person("zhangsan",21));
oos.writeObject(new Person("lisi",24));
oos.writeObject(new Person("xiaoming",33));
oos.writeObject(new Person("guange",30));
oos.close();
}
}
复制代码
Person类在这
import java.io.Serializable;
public class Person implements Serializable{
private static final long serialVersionUID = 1L;
private String name;
private int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+":"+age;
}
}
复制代码
添加四个Person 对象到文本中,上面为笨方法取出4个Person对象;如何循环输出4个Person对象,求思路,求解答
作者:
filter
时间:
2012-12-12 11:25
1.定义一个集合容器,存储四个Person对象到集合中(注意取出重复元素)
2.高级for循环遍历集合打印Person数据
作者:
高会仁
时间:
2012-12-12 13:51
李志阳 发表于 2012-12-12 11:25
1.定义一个集合容器,存储四个Person对象到集合中(注意取出重复元素)
2.高级for循环遍历集合打印Person数 ...
这里是对象序列化,把对象存入硬盘中,四个Person对象已经存储到文件obj.txt中了。而集合只是存入内存,当程序关闭时就没了。这里就是如何把存入obj.txt中的四个Person对象循环打印出来?
作者:
浪无痕-陈文坤
时间:
2013-8-11 12:10
import java.io.*;
/**
* 把对象存储在硬盘叫做对象的持久化存储,也叫对象的序列化
* 对象的序列化
* */
class ObjectStreamDemo {
/**
* @param args
* @throws IOException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws Exception {
writeObj();
readObj();
}
public static void readObj() throws Exception{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
//笨方法取出4个Person对象
Person p1 = null;
while((p1 = (Person) ois.readObject()) != null)
{
System.out.println(p1);
} ois.close();
}
/**
* 将对象Person存储起来放在obj.txt中
* */
public static void writeObj() throws Exception{
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt"));
oos.writeObject(new Person("zhangsan",21));
oos.writeObject(new Person("lisi",24));
oos.writeObject(new Person("xiaoming",33));
oos.writeObject(new Person("guange",30));
oos.writeObject(null);
oos.close();
}
}
class Person implements Serializable{
private static final long serialVersionUID = 1L;
private String name;
private int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+":"+age;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2