⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zipextract.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
字号:
package com.sslexplorer.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import com.sslexplorer.boot.Util;


public class ZipExtract {

  public static final void copyInputStream(InputStream in, OutputStream out)
  throws IOException
  {
    byte[] buffer = new byte[1024];
    int len;

    while((len = in.read(buffer)) >= 0)
      out.write(buffer, 0, len);

    in.close();
    out.close();
  }


  public static final void extractZipFile(File basedir, InputStream in) throws IOException {
      extractZipFile(basedir, in, true);
  }

  public static final void extractZipFile(File basedir, InputStream in, boolean onlyIfNewer) throws IOException {

    ZipInputStream zin = new ZipInputStream(in);
    try {
      

      ZipEntry entry;
      byte[] buf = new byte[32768];
      int read;
      do {
         entry = zin.getNextEntry();
         
         if(entry==null)
        	 break;
         
         File f =  new File(basedir, entry.getName());
         
         if(entry.isDirectory()) {
             f.mkdirs();
             zin.closeEntry();
             if(entry.getTime() != -1) {
                 f.setLastModified(entry.getTime());
             }
             continue;
         }
         
         if(onlyIfNewer && entry.getTime() != -1 && entry.getTime() == f.lastModified()) {
             continue;
         }
         
         f.getParentFile().mkdirs();
         FileOutputStream out = new FileOutputStream(f);
         
         try {
	         while((read = zin.read(buf, 0, buf.length)) > -1) {
	        	 out.write(buf, 0, read);
	         }
	         
	         zin.closeEntry();
         
         } finally {
        	 Util.closeStream(out);
         }
         if(entry.getTime() != -1) {
             f.setLastModified(entry.getTime());
         }
         
      } while(entry!=null);

    } finally {
    	Util.closeStream(zin);
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -