• 大数据之文件的压缩和解压缩


    一,压缩

    类似于war提供的功能;实现由ZipOutputStream类和ZipInputStream提供

    public static void addFile(ZipOutputStream zos,String path) throws Exception
        {
            File f = new File(path);
            zos.putNextEntry(new ZipEntry(f.getName()));
            FileInputStream fis = new FileInputStream(f);
            byte[] bytes = new byte[fis.available()];
            fis.read(bytes);
            fis.close();
            
            zos.write(bytes);
            zos.closeEntry();
        }

    二,解压缩

    public void unzip() throws Exception
        {
            FileInputStream fis = new FileInputStream("d:/arch/xxx.zip");
            ZipInputStream zis = new ZipInputStream(fis);
            
            ZipEntry entry = null;
            byte[] buf = new byte[1024];
            int len = 0;
            while((entry = zis.getNextEntry())!=null){
                String name = entry.getName();
                FileOutputStream fos = new FileOutputStream("d:/arch/unzip/"+name);
                while((len = zis.read(buf))!= -1)
                {
                    fos.write(buf,0,len);
                }
                fos.close();
            }
            zis.close();
            fis.close();
            
        }

    类的调用;

    public static void main(String[] args) throws Exception {
             FileOutputStream fos = new FileOutputStream("d:/arch/xxx.xar");
             ZipOutputStream zos = new ZipOutputStream(fos);
             
             String[] arr = {
                     "d:/arch/a.xls",
                     "d:/arch/c.txt"
             };
             
            for(String s:arr){
                addFile(zos,s);
            }
            zos.close();
            fos.close();
            System.out.println("over");
        }
  • 相关阅读:
    面试题汇总--1
    行内元素与块级元素
    前端面试题整理---JS基础
    springmvc处理一个请求的全流程
    反射+动态代理+类加载+JVM
    json注解及序列化
    加密
    Thread setUncaughtExceptionHandler
    RunTime.getRunTime().addShutdownHook 添加钩子
    MySQL日志
  • 原文地址:https://www.cnblogs.com/ithome0222/p/8735053.html
Copyright © 2020-2023  润新知