| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
AnaPqa
10年前发布

Java实现zip解压缩目录中的所有文件

Java实现zip解压缩目录中的所有文件

Java实现zip解压缩目录中的所有文件

import java.io.*;  import java.util.*;  import java.util.zip.*;  public class FolderUnzip {  private static String sourcepath="D:\\tmp";  private static List<String>folderList=new ArrayList<String>(Arrays.asList(sourcepath));  private static List<String>folderList2=new ArrayList<String>(Arrays.asList("E:\\tt"+File.separator+sourcepath.substring(sourcepath.lastIndexOf(File.separator))));  private static FileInputStream fis = null;  private static FileOutputStream fos = null;  private static ZipInputStream zipin = null;      public static void main(String[] args) {          for (int j = 0; j < folderList.size(); j++) {              new File(folderList2.get(j)).mkdirs();              String[] file = new File(folderList.get(j)).list();              File temp = null;              for (int i = 0; i < file.length; i++) {                  if (folderList.get(j).endsWith(File.separator))                      temp = new File(folderList.get(j), file[i]);                  else                      temp = new File(folderList.get(j), file[i]);                  File originalFile = null;                  if (temp.getName().endsWith(".zip"))                      originalFile = new File(folderList2.get(j), temp.getName()                              .substring(0, temp.getName().lastIndexOf('.')));                  if (temp.isFile() && !originalFile.exists()) {                      try {                          fis = new FileInputStream(temp);                          zipin = new ZipInputStream(fis);              ZipEntry entry = zipin.getNextEntry();              fos = new FileOutputStream(new File(folderList2.get(j),entry.getName()));                          byte[] buffer = new byte[20480];                          int nNumber;                          while ((nNumber = zipin.read(buffer, 0, buffer.length)) != -1)                              fos.write(buffer, 0, nNumber);                          fos.flush();                      } catch (IOException e) {                          continue;                      } finally {                          try {                              zipin.close();                              fos.close();                              fis.close();                          } catch (IOException e) {                          }                      }                  } else if (temp.isDirectory()) {                      folderList.add(folderList.get(j) + File.separator + file[i]);                      folderList2.add(folderList2.get(j) + File.separator+ file[i]);                  }              }          }      }  }