xstream---

XStream提供java.io.ObjectInputStream和java.io.ObjectOutputStream替代实现,使对象流可以被序列化或XML序列化。当大对象集要被处理,保持在存储器中的一个对象,这是特别有用的。

    将对象写进文件

   ObjectOutputStream objectOutputStream = xstream.createObjectOutputStream(newFileOutputStream("D:\\test.txt"));

  读取文件内容

     ObjectInputStream objectInputStream = xstream.createObjectInputStream(new FileInputStream("test.txt"));



package com.xstream.demo1;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.xstream.vo1.Address;

public class XstreamObjectStreamDemo {
    public static void main(String[] args) {
        XStream xstream = new XStream(new DomDriver());        
        xstream.autodetectAnnotations(true);

        Address a1 = new Address("t1","p1");    
        Address a2 = new Address("t2","p2");    
        Address a3 = new Address("t3","p3");    
        Address a4 = new Address("t4","p4");    

        try {
           ObjectOutputStream objectOutputStream = xstream.createObjectOutputStream(new FileOutputStream("D:\\test.txt"));
           objectOutputStream.writeObject(a1);
           objectOutputStream.writeObject(a2);
           objectOutputStream.writeObject(a3);
           objectOutputStream.writeObject(a4);
           objectOutputStream.writeObject("Hello World");
           objectOutputStream.close();
    
           ObjectInputStream objectInputStream = xstream.createObjectInputStream(new FileInputStream("test.txt"));
           Address a5 = (Address)objectInputStream.readObject();
           Address a6 = (Address)objectInputStream.readObject();
           Address a7 = (Address)objectInputStream.readObject();
           Address a8 = (Address)objectInputStream.readObject();
           String text = (String)objectInputStream.readObject();
           System.out.println(a5);
           System.out.println(a6);
           System.out.println(a7);
           System.out.println(a8);
           System.out.println(text);

        } catch (IOException e) {
           e.printStackTrace();
        } catch (ClassNotFoundException e) {
           e.printStackTrace();
        }
     }
    
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值