Class CpioArchive

Class CpioArchive

Название пространства: Aspose.Zip.Cpio Ассоциация: Aspose.Zip.dll (25.5.0)

Этот класс представляет собой файл архивов cpio.

public class CpioArchive : IArchive, IDisposable

Inheritance

object CpioArchive

Implements

IArchive , IDisposable

Наследованные члены

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

CpioArchive()

Инициализует новую инстанцию класса Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Examples

Следующий пример показывает, как компрессировать файл.

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

CpioArchive(Stream)

Инициализует новую инстанцию класса Aspose.Zip.Cpio.CpioArchive и составляет входный список, который можно извлечь из архива.

public CpioArchive(Stream sourceStream)

Parameters

sourceStream Stream

Источник архива. он должен быть поисковым.

Examples

Следующий пример показывает, как извлечь все входы в каталог.

using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Этот конструктор не отпакивает никаких входов. см. Aspose.Zip.Cpio.CpioEntry.Open метод для отпаковки.

Exceptions

ArgumentNullException

sourceStream’ is null.

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

sourceStream’ is not valid cpio archive.

CpioArchive(Стриг)

Инициализует новую инстанцию класса Aspose.Zip.Cpio.CpioArchive и составляет входный список, который можно извлечь из архива.

public CpioArchive(string path)

Parameters

path string

Путь к архиву.

Examples

Следующий пример показывает, как извлечь все входы в каталог.

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Этот конструктор не отпакивает никаких входов. см. Aspose.Zip.Cpio.CpioEntry.Open метод для отпаковки.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Заказчик не имеет требуемого разрешения на доступ.

ArgumentException

path" пустая, содержит только белые пространства или содержит недействительные символы.

UnauthorizedAccessException

Доступ к файлу path" отказывается.

PathTooLongException

Указанный path", имя файла, или оба превышают максимальную длину, установленную системой. Например, на платформах на базе Windows, пути должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

NotSupportedException

Файл в path’ содержит колону (:) в середине строки.

FileNotFoundException

Файл не найден.

DirectoryNotFoundException

Указанный маршрут является недействительным, например, находиться на немапированном диске.

IOException

Файл уже открыт.

Properties

Entries

Получается вход типа Aspose.Zip.Cpio.CpioEntry, составляющий архив.

public ReadOnlyCollection<cpioentry> Entries { get; }

Стоимость недвижимости

ReadOnlyCollection • < CpioEntry >

Methods

CreateEntries(Стриг, Боол)

Добавьте в архив все файлы и каталоги повторно в указанном каталоге.

public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameters

sourceDirectory string

Директор для компресса.

includeRootDirectory bool

Он указывает, включать ли корневую директорию сама или нет.

Returns

CpioArchive

Вступление в инстанцию.

Examples

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(cpioFile);
    }
}

Exceptions

ArgumentNullException

sourceDirectory’ is null.

SecurityException

Вызовчик не имеет требуемого разрешения на доступ к sourceDirectory'.

ArgumentException

sourceDirectory’ contains invalid characters such as “, <, >, or |.

PathTooLongException

Например, на платформах на базе Windows, пути должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

IOException

sourceDirectory’ stands for a file, not for a directory.

CreateEntries(Дистрибьютор, Bool)

Добавьте в архив все файлы и каталоги повторно в указанном каталоге.

public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameters

directory DirectoryInfo

Директор для компресса.

includeRootDirectory bool

Он указывает, включать ли корневую директорию сама или нет.

Returns

CpioArchive

Вступление в инстанцию.

Examples

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(cpioFile);
    }
}

Exceptions

ArgumentNullException

directory’ is null.

SecurityException

Вызовчик не имеет требуемого разрешения на доступ к directory”.

IOException

directory’ stands for a file, not for a directory.

CreateEntry(Стриг, FileInfo, Bool)

Создайте единый вход в архиве.

public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

Parameters

name string

Название входа.

fileInfo FileInfo

Метаданные файла или папки должны быть компрессированы.

openImmediately bool

Правда, если открыть файл сразу, то в противном случае открыть файл на архиве.

Returns

CpioEntry

Вступление в инстанцию.

Examples

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.cpio");
}

Remarks

Если файл открывается немедленно с параметром, он блокируется до того момента, пока файл не будет удален.

Exceptions

ArgumentNullException

name’ is null.

ArgumentException

name’ is empty.

ArgumentNullException

fileInfo’ is null.

CreateEntry(Стриг, Стриг, Боол)

Создайте единый вход в архиве.

public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Parameters

name string

Название входа.

sourcePath string

Путь к файлу для компрессии.

openImmediately bool

Правда, если открыть файл сразу, то в противном случае открыть файл на архиве.

Returns

CpioEntry

Вступление в инстанцию.

Examples

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

Remarks

Название входа устанавливается только в пределах параметра.Название файла, предоставленное в параметре, не влияет на имя входа.

Если файл открывается немедленно с параметром, он блокируется до того момента, пока файл не будет удален.

Exceptions

ArgumentNullException

sourcePath’ is null.

SecurityException

Заказчик не имеет требуемого разрешения на доступ.

ArgumentException

sourcePath’ является пустым, содержит только белые пространства, или содержит недействительные символы. - или - Название файла, как часть name’, превышает 100 символов.

UnauthorizedAccessException

Доступ к файлу sourcePath" отказывается.

PathTooLongException

Определенный sourcePath", имя файла, или оба превышают максимальную длину, установленную системой. Например, на платформах на базе Windows, пути должны быть менее 248 символов, а имена файлов должны быть менее 260 символов. - или - name’ слишком длинный для cpio.

NotSupportedException

Файл в sourcePath’ содержит колону (:) в середине строки.

CreateEntry(Стрем , Stream)

Создайте единый вход в архиве.

public CpioEntry CreateEntry(string name, Stream source)

Parameters

name string

Название входа.

source Stream

Входный поток для входа.

Returns

CpioEntry

Вступление в инстанцию.

Examples

using (var archive = new CpioArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.cpio");
}

Exceptions

ArgumentNullException

name’ is null.

ArgumentNullException

source’ is null.

ArgumentException

name’ is empty.

DeleteEntry(CpioEntry)

Удаляется первое появление конкретного входа из списка входов.

public CpioArchive DeleteEntry(CpioEntry entry)

Parameters

entry CpioEntry

Вход, который нужно удалить из списка входов.

Returns

CpioArchive

Вступление в инстанцию.

Examples

Вот как вы можете удалить все записи, за исключением последней:

using (var archive = new CpioArchive("archive.cpio"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputCpioFile);
}

Exceptions

ArgumentNullException

entry’ is null.

DeleteEntry(ИНТ)

Удаление входа из списка входа по индексу.

public CpioArchive DeleteEntry(int entryIndex)

Parameters

entryIndex int

Индекс, основанный на нуле, входа должен быть удален.

Returns

CpioArchive

Архив с входом удален.

Examples

using (var archive = new CpioArchive("two_files.cpio"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.cpio");
}

Exceptions

ArgumentOutOfRangeException

entryIndex’ is less than 0.-or- entryIndex’ is equal to or greater than ‘Entries’ count.

Dispose()

Осуществляет задания, определенные приложением, связанные с освобождением, освобождением или восстановлением неконтролируемых ресурсов.

public void Dispose()

Dispose(Боол)

Осуществляет задания, определенные приложением, связанные с освобождением, освобождением или восстановлением неконтролируемых ресурсов.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Следует ли использовать управляемые ресурсы.

ExtractToDirectory(Стриг)

Выводит все файлы в архиве в предоставленный каталог.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Путь к каталогу для размещения извлеченных файлов.

Examples

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Если каталог не существует, он будет создан.

Exceptions

ArgumentNullException

Путь нулевой

PathTooLongException

Например, на платформах, основанных на Windows, маршруты должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

SecurityException

Заклинатель не имеет требуемого разрешения на доступ к существующему каталогу.

NotSupportedException

Если каталог не существует, то маршрут содержит символ узла (:) который не является частью дисковой маркировки («C:»).

ArgumentException

Пут является строкой нулевой длины, содержит только белый пространство, или содержит один или несколько недействительных символов. Вы можете запросить недействительные символы, используя метод System.IO.Path.GetInvalidPathChars. -или- путь заранее фиксирован с, или содержит, только один символ колонны (:).

IOException

Каталог, указанный по маршруту, является файлом. -или- Название сети неизвестно.

Save(Стриг, CpioFormat)

Сохранить архив до предоставленного целевого файла.

public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

destinationFileName string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (var archive = new CpioArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.cpio");
}

Remarks

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

Exceptions

ArgumentException

destinationFileName’ is a zero-length string, contains only white space, or contains one or more invalid characters as defined by System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName’ is null.

PathTooLongException

Определенный destinationFileName’, имя файла, или оба превышают максимальную длину, установленную системой. Например, на платформах на базе Windows, маршруты должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

DirectoryNotFoundException

Указанная destinationFileName’ является недействительной (например, она находится на безкартированном диске).

IOException

При открытии файла произошла ошибка I/O.

UnauthorizedAccessException

destinationFileName’Specified a file is read-only and access is not Read.-or- path specified a directory.-or- The caller does not have the required permission.

NotSupportedException

destinationFileName’ is in an invalid format.

Save(Поток, CpioFormat)

Сохранить архив в предоставленный поток.

public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(cpioFile);
    }
}

Remarks

Он должен быть письменным.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable. - or - output’ is the same stream we extract from.- OR -It is impossible to save archive in cpioFormat’ due to format restrictions.

SaveGzipped(Поток, CpioFormat)

Сохранить архив для потока с помощью компрессии gzip.

public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Remarks

Он должен быть письменным.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveGzipped(Стриг, CpioFormat)

Сохранить архивы в файл по пути с помощью компрессии gzip.

public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

path string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.gz");
    }
}

Сохранение компрессов(Поток, CpioFormat)

Сохранить архив до потока с помощью компрессии LZMA.

public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveLZMACompressed(result);
        }
    }
}

Remarks

Он должен быть письменным.

Важно: архивы cpio составлены, затем компрессируются в рамках этого метода, его содержание сохраняется внутренне.

Сохранение компрессов(Стриг, CpioFormat)

Сохранить архив в файл по пути с lzma компрессией.

public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

path string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveLZMACompressed("result.cpio.lzma");
    }
}

Remarks

Важно: архивы cpio составлены, затем компрессируются в рамках этого метода, его содержание сохраняется внутренне.

SaveLzipped(Поток, CpioFormat)

Сохранить архив для потока с помощью компрессии lzip.

public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Remarks

Он должен быть письменным.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveLzipped(Стриг, CpioFormat)

Сохранить архивы в файл по пути с помощью компрессии lzip.

public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

path string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.lz");
    }
}

SaveXzCompressed(Поток, CpioFormat, XzArchiveSettings)

Сохранить архив в потоке с помощью xz компрессии.

public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

settings XzArchiveSettings

Комплект настройки конкретного xz архива: размер словаря, размер блока, тип проверки.

Examples

using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveXzCompressed(result);
        }
    }
}

Remarks

Проток должен быть письменным.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveXzCompressed(Стриг, CpioFormat, XzArchiveSettings)

Сохранить архивы по маршруту с xz компрессией.

public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parameters

path string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

settings XzArchiveSettings

Комплект настройки конкретного xz архива: размер словаря, размер блока, тип проверки.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveXzCompressed("result.cpio.xz");
    }
}

SaveZкомпресс(Поток, CpioFormat)

Сберегает архив до потока с Z-компрессией.

public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZCompressed(result);
        }
    }
}

Remarks

Он должен быть письменным.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveZкомпресс(Стриг, CpioFormat)

Сберегает архив по пути с Z-компрессией.

public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

path string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZCompressed("result.cpio.Z");
    }
}

SaveZstandard(Поток, CpioFormat)

Сохранить архив в потоке с помощью стандартной компрессии.

public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

output Stream

Достопримечательности потока.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZstandard(result);
        }
    }
}

Remarks

Он должен быть письменным.

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable.

SaveZstandard(Стриг, CpioFormat)

Сохранить архивы в файл по пути с помощью стандартной компрессии.

public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameters

path string

Если указанное имя файла указывает на существующий файл, оно будет переписано.

cpioFormat CpioFormat

Определение формата cpio header.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.cpio.zst");
    }
}
 Русский