ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA把指定文件放入压缩包

2021-03-17 14:29:41  阅读:168  来源: 互联网

标签:JAVA srcfile test File catch new 放入 压缩包 out


/**
     * 测试多个文件放入压缩包
     * @param args
     */
    public static void main(String[] args) {

        Map<String, File> srcfile = new HashMap<String, File>(){{
            //key为压缩后的名称(随便起),  value为被压缩的文件的全路径
            put("1.pdf", new File("D:\\wenjian\\test\\test.pdf"));
            put("2.xls", new File("D:\\wenjian\\test\\test1.xls"));
        }};

        //压缩后存储的全路径
        String url = "D:\\wenjian\\test\\cs\\"+ "abc.zip";
        zipFiles(srcfile, new File(url));
    }


    public static void zipFiles(Map<String, File> srcfile, File zipfile) {
        byte[] buf = new byte[10240];
        try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile))) {

            srcfile.forEach((key, value) -> {
                try {
                    try (FileInputStream in = new FileInputStream(value)) {
                        out.putNextEntry(new ZipEntry(key));
                        int len;
                        while ((len = in.read(buf)) > 0) {
                            out.write(buf, 0, len);
                        }
                        out.closeEntry();
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            });
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

执行结果:
在这里插入图片描述

打开压缩包后是刚刚放进去的两个文件 ↓
在这里插入图片描述

标签:JAVA,srcfile,test,File,catch,new,放入,压缩包,out
来源: https://blog.csdn.net/weixin_42915457/article/details/114928539

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有