java如何将一个序列化对象添加到压缩文件中

来源:互联网 发布:jira mysql驱动 win7 编辑:程序博客网 时间:2024/06/10 18:32

一开始的思路是在CheckedOutputStream中添加ObjectOutputStream

再把CheckedOutputStream给ZipOutputStream 

最后用ObjectOutputStream进行序列化,但是里面写不了内容。


最后发现要先把ZipOutputStream给ObjectOutputStream  最后用ObjectOutputStream 实现序列化

下面是代码:

package Number_1802;/** *将一个序列化的对象添加到压缩文件 *要将ZipOutputStream 添加到 ObjectOutputStream 中 *不能是ObjectOutputStream添加到ZipOutputStream中,否则创建的文件写不了内容 * * */import java.io.*;import java.util.zip.*;class Ser implements Serializable {String s;public Ser(String ss) {s = ss;}}public class think {public static void main(String[] args) throws IOException {// ObjectOutputStream out1=new ObjectOutputStream(new// FileOutputStream("F:/IOtest/b/<span style="font-family: Arial, Helvetica, sans-serif;">SerZip</span><span style="font-family: Arial, Helvetica, sans-serif;">.txt"));</span>CheckedOutputStream c = new CheckedOutputStream(new FileOutputStream("F:/IOtest/b/SerZip.zip"), new Adler32());ZipOutputStream zout = new ZipOutputStream(c);
// BufferedOutputStream out=new BufferedOutputStream(zout);
                //写条目zout.putNextEntry(new ZipEntry("ser2.txt"));ObjectOutputStream out1 = new ObjectOutputStream(zout);out1.writeObject(new Ser("aaaa"));// out.flush();// out.close();zout.close();out1.close();}//}

此时压缩文件

SerZip.zip  
里面的条目ser2.txt是有内容的  并且里面的内容实现的序列化




0 0
原创粉丝点击