压缩文件,解压缩文件

释放双眼,带上耳机,听听看~!

//压缩文件“`
package test;

import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class ZipTxtFiles {

public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    File root = new File("E://新建文件夹");
    File target = new File("E://新建文件夹.zip");
    File[] txtFiles = root.listFiles(new FileFilter() {
        @Override
        public boolean accept(File pathname) {
            if (pathname.getName().endsWith(".txt")) {
                return true;
            }
            return false;
        }
    });
    FileOutputStream fos = null;
    ZipOutputStream zos = null;
    FileInputStream fis = null;
    try {
        fos = new FileOutputStream(target);
        zos = new ZipOutputStream(fos);
        byte[] buffer=new byte[1024];
        for (File txtFile : txtFiles) {
            ZipEntry entry = new ZipEntry(txtFile.getName());
            fis=new FileInputStream(txtFile);
            zos.putNextEntry(entry);
            int read=0;
            while((read=fis.read(buffer))!=-1) {
                zos.write(buffer, 0, read);
            }
            zos.closeEntry();
            if(fis!=null) {
                fis.close();
            }
        }
    } catch (FileNotFoundException e) {
        // TODO: handle exception
        e.printStackTrace();
    } catch (IOException e) {
        // TODO: handle exception
        e.printStackTrace();
    } finally {
        if(fis!=null) {
            try {
                fis.close();
            } catch (IOException e2) {
                // TODO: handle exception
                e2.printStackTrace();
            }
        }
        if(zos!=null) {
            try {
                zos.close();
            } catch (IOException e2) {
                // TODO: handle exception
                e2.printStackTrace();
            }
        }
        if(fos!=null) {
            try {
                fos.close();
            } catch (IOException e2) {
                // TODO: handle exception
                e2.printStackTrace();
            }
        }
    }
}

}

//解压缩文件
package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;

public class UnzipTxtFiles {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    File root = new File("E://新建文件夹.zip");
    File target = new File("E://新建文件夹");
    if(!target.exists())
        target.mkdir();
    ZipFile zf=null;
    try {
        zf=new ZipFile(root);
        Enumeration<? extends ZipEntry> e=zf.entries();
        while (e.hasMoreElements()) {
            ZipEntry entry = (ZipEntry) e.nextElement();
            if(!entry.getName().endsWith(".txt"))
                continue;
            File currentFile=new File(target+File.separator+entry.getName());
            if(!currentFile.exists()) 
                currentFile.createNewFile();
            FileOutputStream fos=new FileOutputStream(currentFile);
            InputStream in=zf.getInputStream(entry);
            int buffer=0;
            while ((buffer=in.read())!=-1) {
                fos.write(buffer);
            }
            in.close();
            fos.close();
        }
    } catch (ZipException e) {
        // TODO: handle exception
        e.printStackTrace();
    } catch (IOException e) {
        // TODO: handle exception
        e.printStackTrace();
    } finally {
        if(zf!=null) {
            try {
                zf.close();
            } catch (IOException e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        }

    }
}

}

【转自慕课】https://www.imooc.com

JAVA

hibernate中identity和increment区别

2022-3-3 18:25:03

JAVA

无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接口

2022-3-3 18:35:13

搜索