Java.util.zip.ZipEntry класс в Java

Опубликовано: 15 Февраля, 2022

Этот класс используется для представления записи файла ZIP.
Конструкторы

  • ZipEntry (String name): создает новую запись в zip-архиве с указанным именем.
  • ZipEntry (ZipEntry e): создает новую запись почтового индекса с полями, взятыми из указанной записи почтового индекса.

Методы:

  • Object clone (): возвращает копию этой записи.
     Синтаксис: public Object clone ()
    Заменяет:
    клонировать в классе Object
    Возврат:
    клон этого экземпляра.
  • String getComment (): возвращает строку комментария для записи или null, если его нет.
     Синтаксис: public String getComment ()
    Возврат:
    строка комментария для записи или null, если нет
  • long getCompressedSize (): возвращает размер сжатых данных записи или -1, если неизвестно. В случае сохраненной записи сжатый размер будет таким же, как несжатый размер записи.
     Синтаксис: public long getCompressedSize ()
    Возврат:
    размер сжатых входных данных, или -1, если неизвестно
  • long getCrc (): возвращает контрольную сумму CRC-32 несжатых данных записи или -1, если она неизвестна.
     Синтаксис: public long getCrc ()
    Возврат:
    контрольная сумма CRC-32 несжатых входных данных или -1, если неизвестно
  • byte [] getExtra (): возвращает дополнительные данные поля для записи или null, если их нет.
     Синтаксис: = публичный байт [] getExtra ()
    Возврат:
    данные дополнительного поля для записи или null, если их нет
    
  • int getMethod (): возвращает метод сжатия записи или -1, если не указан.
     Синтаксис: public int getMethod ()
    Возврат:
    метод сжатия записи или -1, если не указан
  • String getName (): возвращает имя записи.
     Синтаксис: public String getName ()
    Возврат:
    название записи
    
  • long getSize (): возвращает несжатый размер входных данных или -1, если он неизвестен.
     Синтаксис: public long getSize ()
    Возврат:
    несжатый размер входных данных, или -1, если не знаю
  • long getTime (): возвращает время модификации записи или -1, если не указано.
     Синтаксис: public long getTime ()
    Возврат:
    время модификации записи или -1, если не указано
  • int hashCode (): возвращает значение хэш-кода для этой записи.
     Синтаксис: public int hashCode ()
    Заменяет:
    hashCode в классе Object
    Возврат:
    значение хэш-кода для этого объекта.
  • boolean isDirectory (): возвращает true, если это запись каталога. Запись каталога определяется как запись, имя которой заканчивается на '/'.
     Синтаксис: public boolean isDirectory ()
    Возврат:
    истина, если это запись каталога
  • void setComment (String comment): устанавливает необязательную строку комментария для записи. Комментарии записи в формате ZIP имеют максимальную длину 0xffff. Если после кодирования длина указанной строки комментария превышает 0xFFFF байтов, в запись файла ZIP выводятся только первые байты 0xFFFF.
     Синтаксис: public void setComment (строковый комментарий)
    Параметры:
    comment - строка комментария
  • void setCompressedSize (long csize): устанавливает размер сжатых данных записи.
     Синтаксис: public void setCompressedSize (long csize)
    Параметры:
    csize - сжатый размер для установки
  • void setCrc (long crc): устанавливает контрольную сумму CRC-32 несжатых данных записи.
     Синтаксис: public void setCrc (long crc)
    Параметры:
    crc - значение CRC-32
    Броски:
    IllegalArgumentException
  • void setExtra (byte [] extra): устанавливает дополнительные данные поля для записи.
     Синтаксис: public void setExtra (byte [] extra)
    Параметры:
    extra - байты данных дополнительного поля
    Броски:
    IllegalArgumentException
  • void setMethod (int method): устанавливает метод сжатия для записи.
     Синтаксис: public void setMethod (метод int)
    Параметры:
    method - метод сжатия, STORED или DEFLATED
    Броски:
    IllegalArgumentException
  • void setSize (long size): устанавливает несжатый размер входных данных.
     Синтаксис: public void setSize (длинный размер)
    Параметры:
    size - несжатый размер в байтах
    Броски:
    IllegalArgumentException
  • void setTime (long time): устанавливает время изменения записи.
     Синтаксис: public void setTime (долгое время)
    Параметры:
    time - время изменения записи в миллисекундах с эпохи
  • String toString (): возвращает строковое представление записи ZIP.
     Синтаксис: public String toString ()
    Заменяет:
    toString в классе Object
    Возврат:
    строковое представление объекта.

Program:

//Java program demonstrating ZipEntry methods
  
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.attribute.FileTime;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
  
class ZipEntryDemo
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream fis = new FileInputStream("Awesome CV.zip");
        ZipInputStream jis = new ZipInputStream(fis);
        PrintStream cout=System.out;
  
        //reading the next ZIP file entry
        ZipEntry ze = jis.getNextEntry();
  
        //illustrating getName()
        cout.println(ze.getName());
  
        //illustrating getComment()
        ze.setComment("This is a comment");
        cout.println(ze.getComment());
  
        //illustrating setCompressedSize() and getCompressedSize()
        ze.setCompressedSize(23l);
        cout.println("CompressedSize of the entry = " + ze.getCompressedSize());
  
        //illustrating getSize() and setSize()
        ze.setSize(53l);
        cout.println("Size = " + ze.getSize());
  
        //illustrating getCrc() and setCrc()
        ze.setCrc(01);
        cout.println(ze.getCrc());
  
        //illustrating getMethod and setMethod
        ze.setMethod(ZipEntry.STORED);
        cout.println(ze.getMethod());
  
        //illustrating getCreation and setCreation()
        ze.setCreationTime(FileTime.from(10000, TimeUnit.DAYS));
        cout.println(ze.getCreationTime());
  
        //illustrating getLastAccessTime and setLastAccessTime
        ze.setLastAccessTime(FileTime.from(1000,TimeUnit.DAYS));
        cout.println(ze.getLastAccessTime());
  
        //illustrating clone()
        ZipEntry zeclone = (ZipEntry) ze.clone();
        cout.println(zeclone.getName());
  
        //illustrating isDirectory
        cout.println(ze.isDirectory());
  
        //illustrating hashcode()
        cout.println("hashcode = " + ze.hashCode());
    }
}

Выход :

 awesome-cv.cls
Это комментарий
Сжатый Размер записи = 23
Размер = 53
1
0
1997-05-19T00: 00: 00Z
1972-09-27T00: 00: 00Z
awesome-cv.cls
ложный
хэш-код = 1687382489

Автор статьи - Нишант Шарма . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .