JAVA(二)将文件转换成ZIP文件

2018-06-26  本文已影响6人  文子轩

一.执行的主函数

public void zip() throws Exception {
    //文件输出流
    FileOutputStream fos = new     FileOutputStream("d:/arch/xxx.xar");
    //压缩流
    ZipOutputStream zos = new ZipOutputStream(fos);
}
String[] arr = {
            "d:/arch/1.jpg",
            "d:/arch/2.txt",
            "d:/arch/3.xml"
    };
for(String s : arr){
        addFile(zos , s);
    }
    zos.close();
    fos.close();
    System.out.println("over");
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){
                        解压用write
            fos.write(buf, 0, len);
        }
        fos.close();
    }
    zis.close();
    fis.close();
}
上一篇 下一篇

猜你喜欢

热点阅读