Exemple de méthode java.util.zip.ZipEntry.setComment ()

La description

le java.util.zip.ZipEntry.setComment(String comment) définit la chaîne de commentaire facultative pour l'entrée.

Déclaration

Voici la déclaration pour java.util.zip.ZipEntry.setComment(String comment) méthode.

public void setComment(String comment)

Paramètres

  • comment - la chaîne de commentaire.

Prérequis

Créez un fichier Hello.txt dans D:> test > répertoire avec le contenu suivant.

This is an example.

Exemple

L'exemple suivant montre l'utilisation de la méthode java.util.zip.ZipEntry.setComment (String comment).

package com.tutorialspoint;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Enumeration;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;

public class ZipEntryDemo {
   private static String SOURCE_FILE = "D:\\test\\Hello.txt";
   private static String TARGET_FILE = "D:\\test\\Hello.zip";

   public static void main(String[] args) {
      try {
         createZipFile();
         readZipFile();
      } catch(IOException ioe) {
         System.out.println("IOException : " + ioe);
      }
   }

   private static void createZipFile() throws IOException{
      FileOutputStream fout = new FileOutputStream(TARGET_FILE);
      CheckedOutputStream checksum = new CheckedOutputStream(fout, new Adler32());
      ZipOutputStream zout = new ZipOutputStream(checksum);

      FileInputStream fin = new FileInputStream(SOURCE_FILE);
      ZipEntry zipEntry = new ZipEntry(SOURCE_FILE);
      zipEntry.setComment("This is a sample file.");
      zout.putNextEntry(zipEntry);
      int length;
      byte[] buffer = new byte[1024];
      while((length = fin.read(buffer)) > 0) {
         zout.write(buffer, 0, length);
      }

      zout.closeEntry();
      fin.close();
      zout.close();
   }

   private static void readZipFile() throws IOException{
      final ZipFile file = new ZipFile(TARGET_FILE); 
      System.out.println("Iterating over zip file : " + TARGET_FILE);
      try { 
         final Enumeration<? extends ZipEntry> entries = file.entries(); 
         while (entries.hasMoreElements()) { 
            final ZipEntry entry = entries.nextElement(); 
            System.out.printf("File: %s Size %d Modified on %TD %n", 
               entry.getName(), entry.getSize(), 
                  new Date(entry.getTime())); 
            System.out.println(entry.getComment());
            extractFile(entry, file.getInputStream(entry)); 
         } 
         System.out.printf("Zip file %s extracted successfully.", SOURCE_FILE); 
      } 
      finally { 
         file.close(); 
      }
   }

   private static void extractFile(final ZipEntry entry, InputStream is) 
      throws IOException {
      FileOutputStream fos = null; 
      try { 
         fos = new FileOutputStream(entry.getName()); 
         final byte[] buf = new byte[1024]; 
         int read = 0; 
         int length; 
         while ((length = is.read(buf, 0, buf.length)) >= 0) { 
            fos.write(buf, 0, length); 
         } 
      } catch (IOException ioex) { 
         fos.close(); 
      } 
   }
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Iterating over zip file : D:\test\Hello.zip
File: D:\test\Hello.txt Size 19 Modified on 05/20/17
This is a sample file. 
Zip file D:\test\Hello.txt extracted successfully.
Impression