張三风 2009-07-26 11:04
浏览 522
已采纳

如何用JAVA把内存里的二进制文件打包成ZIP包

内存里面有多个文件 有文件名和二进制内容,如何把这些文件一起打成一个ZIP包。并写到指定的位置。
[b]问题补充:[/b]
pan_java 写的我看过,没问题
但我想要的是把内存里的多个二进制文件打成一个ZIP包。
谢谢

  • 写回答

4条回答 默认 最新

  • fdsafds 2009-07-26 17:41
    关注

    [code="java"]import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    import java.util.zip.ZipOutputStream;

    class ZipTest {
    // 压缩
    public static void zip(String zipFileName, String inputFile)
    throws Exception {
    File f = new File(inputFile);
    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
    zipFileName));
    zip(out, f, f.getName());
    System.out.println("zip done");
    out.close();
    }

    private static void zip(ZipOutputStream out, File f, String base)
            throws Exception {
        out.putNextEntry(new ZipEntry(base));
        FileInputStream in = new FileInputStream(f);
        int b;
        while ((b = in.read()) != -1)
            out.write(b);
        in.close();
    }
    
    public static void main(String[] args) {
        try {
            ZipTest t = new ZipTest();
            t.zip("c:\\test.zip", "c:\\1.txt");
        } catch (Exception e) {
            e.printStackTrace(System.out);
        }
    
    }
    

    }[/code]

    将c:\1.txt 打包成 c:\test.zip

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料