首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

对象序列化与反序列化中一些有关问题

2012-09-16 
对象序列化与反序列化中一些问题如果我有一个添加用户的功能,需要序列化到硬盘,然后我用ObjectOutputStrea

对象序列化与反序列化中一些问题
如果我有一个添加用户的功能,需要序列化到硬盘,然后我用ObjectOutputStream中writeObject()将用户类写进一个专门的文件中,但再次调用会不会覆盖之前写的?会的话应该怎么做?还有ObjectInputStream中的readObject()读取完一个对象后会不会继续往后读取其他对象的?

[解决办法]
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("",true));

在这里加个true表示的是在文件末尾追加内容


ObjectInputStream中的readObject()读取完一个对象后会继续往后读取其他对象的

Java code
public class 对象流 {    public static void main(String[] args) {        try {                        /*ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("c:/a",true));            User u1 = new User("zs");            User u2 = new User("ls");            os.writeObject(u1);            os.writeObject(u2);            os.flush();            os.close();*/            ObjectInputStream is = new ObjectInputStream(new FileInputStream("c:/a"));            Object obj1 = is.readObject();            Object obj2 = is.readObject();            Object obj3 = is.readObject();            System.out.println(obj1);            System.out.println(obj2);            System.out.println(obj3);        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }            }}class User implements Serializable{    String name;    User(String name){        this.name = name;    }    @Override    public String toString() {        return "User[name = "+this.name;    }} 

热点排行
Bad Request.