对象持久化、合并流与切割流

对象存在堆内存中的

把对象存在硬盘中叫做对象的持久化存储或者叫序列化
每个类都有一个固定的标记UID,就是为了序列化的方便
通过static修饰的不能序列化,transient 修饰的不能序列化

代码如下:

/*
 * 每个类都有一个固定的标记UID,为了序列化方便
 * static修饰的不能序列化,transient 修饰的不能序列化
实现Serializable接口该接口没有方法称之为标机接口
*/
public class persion  implements Serializable{
	//自定义UID
	public static final long serialVersionUID=42L;
	private String name;
	static int age;
	transient String content;
	public persion(String name,int age,String count) {
		this.name=name;
		this.age = age;
		this.content = count;
	}
	public String toString(){
		
		return"name="+name+"--age="+age+"---"+content;
	}

}
public class persionDemo {

	public static void main(String[] args)throws Exception{
		write();
		reader();
	}
	public static void write() throws Exception{
		ObjectOutputStream objout = 
				new ObjectOutputStream(new FileOutputStream("D:\\持久化.object"));
		persion persion = new persion("张三", 31,"哈哈哈") ;
		objout.writeObject(persion);
		objout.close();
	}
	public static void reader() throws Exception{
		ObjectInputStream objin =
				new ObjectInputStream(new FileInputStream("D:\\持久化.object"));
		persion  persion = (persion)objin.readObject();
		System.out.println(persion.toString());
		
	}

}
通过SequenceInputStream实现流的合并,重要代码:
Vector<InputStream> vector = new Vector<InputStream>();
		vector.add(new FileInputStream("D:\\1.park"));
		vector.add(new FileInputStream("D:\\2.park"));
		vector.add(new FileInputStream("D:\\3.park"));
		vector.add(new FileInputStream("D:\\4.park"));
		vector.add(new FileInputStream("D:\\5.park"));
		Enumeration<InputStream> en= vector.elements();
		SequenceInputStream sqis = new SequenceInputStream(en);
		FileOutputStream out = new FileOutputStream("D:\\合并流.jpg");
		int len=0;
		while((len=sqis.read())!=-1){
			out.write(len);
		}
		out.close();



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值