首先要将一些数据生成为XML文件,但是不写到硬盘上,而是将该文件压缩成ZIP格式后再写到硬盘上。最终结果是:硬盘上有一个test.zip的文件,解压后得到test.xml文件。 
小弟我弄了半天只能是生成一个test.zip的文件,但是解压后却是test文件,没有.xml后缀。 
还请高人说下实现的步骤、要点。有事例代码更好。
谢谢啊~

解决方案 »

  1.   

    变通的方法 新建一个xml文件 压缩这个文件,删除这个xml文件
      

  2.   

    写xml文件不难,自己定义写方法的逻辑就行了,并实现写文件操作就行了。压缩成zip,有两种方法:
    一种是用zip流来实现,google一下,应该有用法参考。
    另一种方法是利用Runtime对象创建一个压缩的进程,利用共享软件winrar目录下的rar.exe实现压缩。
    String param[] = {"d:\rar.exe","d:\a.xml","d:\"};
    Process p = Runtime.getRuntime().exec(param);两种方法的比较:
    我都有尝试过,第一种方法在处理一些稍大一点的图片文件(jpg)时,解压后,无法预览,压坏了。
    而第二种方法,相对来说比较消耗系统资源。
      

  3.   

    FileOutputStream fos = new FileOutputStream(datafile);
    ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(fos));
    ZipEntry entry = new ZipEntry("export.db");
    zos.putNextEntry(entry);
    ObjectOutputStream oos = new ObjectOutputStream(zos);
    oos.writeObject(object);
    oos.close();
    zos.close();
    fos.close();你只要把ObjectOutputStream改变一下,改成你的xml文件的输出流就可以
    这样不用保存xml文件,然后用压缩工具进行压缩
      

  4.   

    FileInputStream fis = new FileInputStream(datafile);
    ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
    ZipEntry entry = zis.getNextEntry();
    ObjectInputStream ois = new ObjectInputStream(zis);
    Object o = ois.readObject();
    ois.close();
    zis.close();
    fis.close();