Каков наилучший способ извлечь ZIP-файл с использованием Java - PullRequest
1 голос
/ 10 ноября 2009

У меня есть заархивированный файл. Этот файл содержит различные каталоги и файлы также. Я хочу извлечь все это и сохранить по указанному пути.

Итак, как написать Java-программу для распаковки zip-файла.

Спасибо Сунил Кумар Саху

Ответы [ 3 ]

3 голосов
/ 10 ноября 2009

Вам следует воспользоваться пакетом java.util.zip . Sun предоставляет руководство по его использованию: Сжатие и распаковка данных с использованием API Java .

1 голос
/ 11 ноября 2009
public static  void unzip(){
      try{
           BufferedOutputStream out = null;
           ZipInputStream  in = new ZipInputStream(ZipFileExtracter.class.getClassLoader().getResourceAsStream("com/artificialmachines/chitme/stamps/ChitMeData.zip"));
           ZipEntry entry;
           boolean isDirectory=false;
           while((entry = in.getNextEntry()) != null){
               int count;
               byte data[] = new byte[BUFFER];
               // write the files to the disk
               String entryName = entry.getName();
               File newFile = new File(new StringBuffer().append(System.getProperty("user.dir")).append(File.separator).append(entryName).toString());
               if(entryName.endsWith("/")){
                   isDirectory=true;
                   newFile.mkdir();
                   //System.out.println("This is directory "+newFile.exists()+"  IS DIr "+newFile.isDirectory()+"    path "+newFile.getPath());
               }else{
                   newFile.createNewFile();
               }
               if(!isDirectory){
                   out = new BufferedOutputStream(new FileOutputStream(newFile),BUFFER);
                    while ((count = in.read(data,0,BUFFER)) != -1){
                         out.write(data,0,count);
                    }
                    cleanUp(out);
               }
               isDirectory=false;
           }
           cleanUp(in);
      }
      catch(Exception e){
           e.printStackTrace();
           System.exit(0);
      }
   }
1 голос
/ 10 ноября 2009

java.util.zip. * Делает необходимую вещь. Пройдите через API для refernec. Если вы ищете, например, LookThis

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...