Class CpioArchive
Namespace: Aspose.Zip.Cpio
Assembly: Aspose.Zip.dll (25.1.0)
Цей клас представляє файл архіву cpio.
public class CpioArchive : IArchive, IDisposable
Спадкування
Реалізує
Спадковані члени
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Конструктори
CpioArchive()
Ініціалізує новий екземпляр класу Aspose.Zip.Cpio.CpioArchive.
public CpioArchive()
Приклади
Наступний приклад показує, як стиснути файл.
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)
Параметри
sourceStream
Stream
Джерело архіву. Він повинен бути доступним для пошуку.
Приклади
Наступний приклад показує, як витягти всі записи в каталог.
using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{
archive.ExtractToDirectory("C:\extracted");
}
Примітки
Цей конструктор не розпаковує жоден запис. Дивіться метод Aspose.Zip.Cpio.CpioEntry.Open для розпакування.
Винятки
sourceStream
є null.
sourceStream
не доступний для пошуку.
sourceStream
не є дійсним архівом cpio.
CpioArchive(string)
Ініціалізує новий екземпляр класу Aspose.Zip.Cpio.CpioArchive та формує список записів, які можна витягти з архіву.
public CpioArchive(string path)
Параметри
path
string
Шлях до файлу архіву.
Приклади
Наступний приклад показує, як витягти всі записи в каталог.
using (var archive = new CpioArchive("archive.cpio"))
{
archive.ExtractToDirectory("C:\extracted");
}
Примітки
Цей конструктор не розпаковує жоден запис. Дивіться метод Aspose.Zip.Cpio.CpioEntry.Open для розпакування.
Винятки
path
є null.
Викликач не має необхідних дозволів для доступу.
path
є порожнім, містить лише пробіли або містить недійсні символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за path
містить двокрапку (:) посередині рядка.
Файл не знайдено.
Вказаний шлях є недійсним, наприклад, знаходиться на не змонтованому диску.
Файл вже відкритий.
Властивості
Entries
Отримує записи типу Aspose.Zip.Cpio.CpioEntry, що складають архів.
public ReadOnlyCollection<cpioentry> Entries { get; }
Значення властивості
ReadOnlyCollection<CpioEntry>
Методи
CreateEntries(string, bool)
Додає до архіву всі файли та каталоги рекурсивно в заданому каталозі.
public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Параметри
sourceDirectory
string
Каталог для стиснення.
includeRootDirectory
bool
Вказує, чи включати кореневий каталог.
Повертає
Екземпляр запису Cpio.
Приклади
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(cpioFile);
}
}
Винятки
sourceDirectory
є null.
Викликач не має необхідних дозволів для доступу до sourceDirectory
.
sourceDirectory
містить недійсні символи, такі як “, <, >, або |.
Вказаний шлях, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів. Вказаний шлях, ім’я файлу або обидва занадто довгі.
sourceDirectory
є файлом, а не каталогом.
CreateEntries(DirectoryInfo, bool)
Додає до архіву всі файли та каталоги рекурсивно в заданому каталозі.
public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Параметри
directory
DirectoryInfo
Каталог для стиснення.
includeRootDirectory
bool
Вказує, чи включати кореневий каталог.
Повертає
Екземпляр запису Cpio.
Приклади
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
archive.Save(cpioFile);
}
}
Винятки
directory
є null.
Викликач не має необхідних дозволів для доступу до directory
.
directory
є файлом, а не каталогом.
CreateEntry(string, FileInfo, bool)
Створює один запис в архіві.
public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
Параметри
name
string
Ім’я запису.
fileInfo
FileInfo
Метадані файлу або папки для стиснення.
openImmediately
bool
True, якщо відкриває файл негайно, інакше відкриває файл під час збереження архіву.
Повертає
Екземпляр запису Cpio.
Приклади
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.cpio");
}
Примітки
Якщо файл відкрито негайно з параметром openImmediately
, він буде заблокований, поки архів не буде звільнений.
Винятки
name
є null.
name
є порожнім.
fileInfo
є null.
CreateEntry(string, string, bool)
Створює один запис в архіві.
public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
Параметри
name
string
Ім’я запису.
sourcePath
string
Шлях до файлу, який потрібно стиснути.
openImmediately
bool
True, якщо відкриває файл негайно, інакше відкриває файл під час збереження архіву.
Повертає
Екземпляр запису Cpio.
Приклади
using (var archive = new CpioArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.cpio");
}
Примітки
Ім'я запису встановлюється виключно в параметрі name
. Ім'я файлу, надане в параметрі sourcePath
, не впливає на ім'я запису.
Якщо файл відкрито негайно з параметром openImmediately
, він буде заблокований, поки архів не буде звільнений.
Винятки
sourcePath
є null.
Викликач не має необхідних дозволів для доступу.
sourcePath
є порожнім, містить лише пробіли або містить недійсні символи. - або - Ім’я файлу, як частина name
, перевищує 100 символів.
Доступ до файлу sourcePath
заборонено.
Вказаний sourcePath
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів. - або - name
занадто довге для cpio.
Файл за sourcePath
містить двокрапку (:) посередині рядка.
CreateEntry(string, Stream)
Створює один запис в архіві.
public CpioEntry CreateEntry(string name, Stream source)
Параметри
name
string
Ім’я запису.
source
Stream
Вхідний потік для запису.
Повертає
Екземпляр запису Cpio.
Приклади
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
Винятки
name
є null.
source
є null.
name
є порожнім.
DeleteEntry(CpioEntry)
Видаляє перше входження конкретного запису зі списку записів.
public CpioArchive DeleteEntry(CpioEntry entry)
Параметри
entry
CpioEntry
Запис, який потрібно видалити зі списку записів.
Повертає
Екземпляр запису Cpio.
Приклади
Ось як ви можете видалити всі записи, крім останнього:
using (var archive = new CpioArchive("archive.cpio"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
Винятки
entry
є null.
DeleteEntry(int)
Видаляє запис зі списку записів за індексом.
public CpioArchive DeleteEntry(int entryIndex)
Параметри
entryIndex
int
Нульовий індекс запису, який потрібно видалити.
Повертає
Архів з видаленим записом.
Приклади
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
Винятки
entryIndex
менше 0.-або- entryIndex
дорівнює або більше Entries
count.
Dispose()
Виконує визначені програмою завдання, пов’язані зі звільненням, вивільненням або скиданням неуправляємих ресурсів.
public void Dispose()
Dispose(bool)
Виконує визначені програмою завдання, пов’язані зі звільненням, вивільненням або скиданням неуправляємих ресурсів.
protected virtual void Dispose(bool disposing)
Параметри
disposing
bool
Чи слід вивільнити керовані ресурси.
ExtractToDirectory(string)
Витягує всі файли з архіву в наданий каталог.
public void ExtractToDirectory(string destinationDirectory)
Параметри
destinationDirectory
string
Шлях до каталогу для розміщення витягнених файлів.
Приклади
using (var archive = new CpioArchive("archive.cpio"))
{
archive.ExtractToDirectory("C:\extracted");
}
Примітки
Якщо каталог не існує, він буде створений.
Винятки
path є null
Вказаний шлях, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Викликач не має необхідних дозволів для доступу до існуючого каталогу.
Якщо каталог не існує, шлях містить символ двокрапки (:) не як частину позначення диска (“C:").
path є рядком нульової довжини, містить лише пробіли або містить один або кілька недійсних символів. Ви можете запитати недійсні символи, використовуючи метод System.IO.Path.GetInvalidPathChars. -або- path має префікс або містить лише символ двокрапки (:).
Каталог, вказаний шляхом, є файлом. -або- Ім’я мережі невідоме.
Save(string, CpioFormat)
Зберігає архів у вказаному файлі призначення.
public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
destinationFileName
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save("archive.cpio");
}
Примітки
Можливо, зберегти архів за тим же шляхом, з якого він був завантажений. Однак це не рекомендується, оскільки цей підхід використовує копіювання в тимчасовий файл.
Винятки
destinationFileName
є рядком нульової довжини, містить лише пробіли або містить один або кілька недійсних символів, визначених System.IO.Path.InvalidPathChars.
destinationFileName
є null.
Вказаний destinationFileName
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Вказаний destinationFileName
є недійсним (наприклад, він знаходиться на не змонтованому диску).
Виникла помилка вводу-виводу під час відкриття файлу.
destinationFileName
вказав файл, який є лише для читання, і доступ не є читанням. -або- шлях вказує на каталог. -або- Викликач не має необхідних дозволів.
destinationFileName
має недійсний формат.
Save(Stream, CpioFormat)
Зберігає архів у наданому потоці.
public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save(cpioFile);
}
}
Примітки
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним. - або - output
є тим же потоком, з якого ми витягуємо.
- АБО -
Неможливо зберегти архів у cpioFormat
через обмеження формату.
SaveGzipped(Stream, CpioFormat)
Зберігає архів у потоці з gzip стисненням.
public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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);
}
}
}
Примітки
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним.
SaveGzipped(string, CpioFormat)
Зберігає архів у файлі за шляхом з gzip стисненням.
public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
path
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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");
}
}
SaveLZMACompressed(Stream, CpioFormat)
Зберігає архів у потоці з LZMA стисненням.
public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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);
}
}
}
Примітки
output
повинен бути записуваним.
SaveLZMACompressed(string, CpioFormat)
Зберігає архів у файлі за шляхом з lzma стисненням.
public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
path
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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");
}
}
Примітки
Важливо: архів cpio складається, а потім стискається в цьому методі, його вміст зберігається внутрішньо. Будьте обережні з використанням пам’яті.
SaveLzipped(Stream, CpioFormat)
Зберігає архів у потоці з lzip стисненням.
public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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);
}
}
}
Примітки
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним.
SaveLzipped(string, CpioFormat)
Зберігає архів у файлі за шляхом з lzip стисненням.
public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
path
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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(Stream, CpioFormat, XzArchiveSettings)
Зберігає архів у потоці з xz стисненням.
public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
settings
XzArchiveSettings
Набір налаштувань для конкретного xz архіву: розмір словника, розмір блоку, тип перевірки.
Приклади
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);
}
}
}
Примітки
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним.
SaveXzCompressed(string, CpioFormat, XzArchiveSettings)
Зберігає архів за шляхом з xz стисненням.
public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)
Параметри
path
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
settings
XzArchiveSettings
Набір налаштувань для конкретного 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.cpio.xz");
}
}
SaveZCompressed(Stream, CpioFormat)
Зберігає архів у потоці з Z стисненням.
public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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);
}
}
}
Примітки
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним.
SaveZCompressed(string, CpioFormat)
Зберігає архів за шляхом з Z стисненням.
public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
path
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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(Stream, CpioFormat)
Зберігає архів у потоці з Zstandard стисненням.
public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
output
Stream
Потік призначення.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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);
}
}
}
Примітки
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним.
SaveZstandard(string, CpioFormat)
Зберігає архів у файлі за шляхом з Zstandard стисненням.
public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
Параметри
path
string
Шлях до архіву, який потрібно створити. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
cpioFormat
CpioFormat
Визначає формат заголовка cpio.
Приклади
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");
}
}