ZipRootPackage

ZipRootPackage class

Представляет корневой пакет, позволяющий работать с метаданными в ZIP-архиве.

public class ZipRootPackage : RootMetadataPackage

Характеристики

Имя Описание
Count { get; } Получает количество свойств метаданных.
FileType { get; } Получает пакет метаданных типа файла.
Item { get; } ПолучаетMetadataProperty с указанным именем.
Keys { get; } Получает коллекцию имен свойств метаданных.
MetadataType { get; } Получает тип метаданных.
PropertyDescriptors { get; } Получает набор дескрипторов, содержащих информацию о свойствах, доступных через поисковую систему GroupDocs.Metadata.
ZipPackage { get; } Получает пакет метаданных ZIP.

Методы

Имя Описание
AddProperties(Func<MetadataProperty, bool>, PropertyValue) Добавляет известные свойства метаданных, удовлетворяющие указанному предикату. Операция является рекурсивной, поэтому она также влияет на все вложенные пакеты.
Contains(string) Определяет, содержит ли пакет свойство метаданных с указанным именем.
virtual FindProperties(Func<MetadataProperty, bool>) Находит свойства метаданных, удовлетворяющие указанному предикату. Поиск является рекурсивным, поэтому он затрагивает также все вложенные пакеты.
GetEnumerator() Возвращает перечислитель, который выполняет итерацию по коллекции.
virtual RemoveProperties(Func<MetadataProperty, bool>) Удаляет свойства метаданных, удовлетворяющие указанному предикату.
override Sanitize() Удаляет доступные для записи свойства метаданных из пакета. Операция является рекурсивной, поэтому она также влияет на все вложенные пакеты.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) Устанавливает известные свойства метаданных, удовлетворяющие указанному предикату. Операция является рекурсивной, поэтому она влияет также на все вложенные пакеты. Этот метод представляет собой комбинациюAddProperties иUpdateProperties Если существующее свойство удовлетворяет предикату, его значение обновляется. Если в пакете отсутствует известное свойство, удовлетворяющее предикату, оно добавляется в пакет.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Обновляет известные свойства метаданных, удовлетворяющие указанному предикату. Операция является рекурсивной, поэтому она также влияет на все вложенные пакеты.

Примечания

Узнать больше

Примеры

В следующем фрагменте кода показано, как получить метаданные из ZIP-архива.

Encoding encoding = Encoding.GetEncoding(866);

using (Metadata metadata = new Metadata(Constants.InputZip))
{
    var root = metadata.GetRootPackage<ZipRootPackage>();

    Console.WriteLine(root.ZipPackage.Comment);
    Console.WriteLine(root.ZipPackage.TotalEntries);

    foreach (var file in root.ZipPackage.Files)
    {
        Console.WriteLine(file.Name);
        Console.WriteLine(file.CompressedSize);
        Console.WriteLine(file.CompressionMethod);
        Console.WriteLine(file.Flags);
        Console.WriteLine(file.ModificationDateTime);
        Console.WriteLine(file.UncompressedSize);

        // Использовать определенную кодировку для имен файлов
        Console.WriteLine(encoding.GetString(file.RawName));
    }
}

Смотрите также