Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
Цей клас представляє файл архіву shar.
public class SharArchive : IDisposable
Спадкування
Реалізує
Спадковані члени
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Конструктори
SharArchive()
Ініціалізує новий екземпляр класу Aspose.Zip.Shar.SharArchive.
public SharArchive()
Приклади
Наступний приклад показує, як стиснути файл.
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
SharArchive(string)
Ініціалізує новий екземпляр класу Aspose.Zip.Shar.SharArchive, підготовлений для розпакування.
public SharArchive(string path)
Параметри
path
string
Шлях до джерела архіву.
Винятки
path
є null.
Викликач не має необхідних дозволів для доступу.
path
є порожнім, містить лише пробіли або містить недопустимі символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за path
містить двокрапку (:) посередині рядка.
Файл не знайдено.
Вказаний шлях є недійсним, наприклад, знаходиться на не змонтованому диску.
Файл вже відкритий.
Властивості
Entries
Отримує записи типу Aspose.Zip.Shar.SharEntry, що складають архів.
public ReadOnlyCollection<sharentry> Entries { get; }
Значення властивості
ReadOnlyCollection<SharEntry>
Методи
CreateEntries(string, bool)
Додає до архіву всі файли та каталоги рекурсивно в заданому каталозі.
public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Параметри
sourceDirectory
string
Каталог для стиснення.
includeRootDirectory
bool
Вказує, чи включати кореневий каталог сам по собі.
Повертає
Екземпляр Shar entry.
Приклади
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(sharFile);
}
}
Винятки
sourceDirectory
є null.
Викликач не має необхідних дозволів для доступу до sourceDirectory
.
sourceDirectory
містить недопустимі символи, такі як “, <, >, або |.
Вказаний шлях, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів. Вказаний шлях, ім’я файлу або обидва занадто довгі.
sourceDirectory
є файлом, а не каталогом.
CreateEntries(DirectoryInfo, bool)
Додає до архіву всі файли та каталоги рекурсивно в заданому каталозі.
public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Параметри
directory
DirectoryInfo
Каталог для стиснення.
includeRootDirectory
bool
Вказує, чи включати кореневий каталог сам по собі.
Повертає
Екземпляр Shar entry.
Приклади
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
archive.Save(sharFile);
}
}
Винятки
directory
є null.
Викликач не має необхідних дозволів для доступу до directory
.
directory
є файлом, а не каталогом.
CreateEntry(string, FileInfo, bool)
Створює єдиний запис в архіві.
public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
Параметри
name
string
Ім’я запису.
fileInfo
FileInfo
Метадані файлу або папки, що підлягає стисненню.
openImmediately
bool
True, якщо файл слід відкрити негайно, в іншому випадку файл відкривається під час збереження архіву.
Повертає
Екземпляр Shar entry.
Приклади
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.shar");
}
Зауваження
Якщо файл відкривається негайно з параметром openImmediately
, він залишається заблокованим, поки архів не буде звільнений.
Винятки
name
є null.
name
є порожнім.
fileInfo
є null.
CreateEntry(string, string, bool)
Створює єдиний запис в архіві.
public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
Параметри
name
string
Ім’я запису.
sourcePath
string
Шлях до файлу, що підлягає стисненню.
openImmediately
bool
True, якщо файл слід відкрити негайно, в іншому випадку файл відкривається під час збереження архіву.
Повертає
Екземпляр Shar entry.
Приклади
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
Зауваження
Ім'я запису визначається лише за параметром name
. Ім'я файлу, вказане в параметрі sourcePath
, не впливає на ім'я запису.
Якщо файл відкривається негайно з параметром openImmediately
, він залишається заблокованим, поки архів не буде звільнений.
Винятки
sourcePath
є null.
Викликач не має необхідних дозволів для доступу.
sourcePath
є порожнім, містить лише пробіли або містить недопустимі символи. - або - Ім’я файлу, як частина name
, перевищує 100 символів.
Доступ до файлу sourcePath
заборонено.
Вказаний sourcePath
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів. - або - name
занадто довге для shar.
Файл за sourcePath
містить двокрапку (:) посередині рядка.
CreateEntry(string, Stream)
Створює єдиний запис в архіві.
public SharEntry CreateEntry(string name, Stream source)
Параметри
name
string
Ім’я запису.
source
Stream
Вхідний потік для запису.
Повертає
Екземпляр Shar entry.
Приклади
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Винятки
name
є null.
source
є null.
name
є порожнім.
DeleteEntry(SharEntry)
Видаляє перше входження конкретного запису зі списку записів.
public SharArchive DeleteEntry(SharEntry entry)
Параметри
entry
SharEntry
Запис, яку потрібно видалити зі списку записів.
Повертає
Екземпляр Shar entry.
Приклади
Ось як ви можете видалити всі записи, крім останнього:
using (var archive = new SharArchive("archive.shar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Винятки
entry
є null.
DeleteEntry(int)
Видаляє запис зі списку записів за індексом.
public SharArchive DeleteEntry(int entryIndex)
Параметри
entryIndex
int
Нульовий індекс запису, який потрібно видалити.
Повертає
Архів з видаленим записом.
Приклади
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Винятки
entryIndex
менше 0.-або- entryIndex
дорівнює або більше кількості Entries
.
Dispose(bool)
Виконує завдання, визначені програмою, пов’язані з звільненням, звільненням або скиданням неуправляємих ресурсів.
protected virtual void Dispose(bool disposing)
Параметри
disposing
bool
Чи потрібно звільнити керовані ресурси.
Dispose()
Виконує завдання, визначені програмою, пов’язані з звільненням, звільненням або скиданням неуправляємих ресурсів.
public void Dispose()
Save(string)
Зберігає архів у вказаному файлі призначення.
public void Save(string destinationFileName)
Параметри
destinationFileName
string
Шлях до архіву, що підлягає створенню. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.
Приклади
using (var archive = new SharArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save("archive.shar");
}
Зауваження
Можна зберегти архів за тим самим шляхом, з якого його було завантажено. Однак це не рекомендується, оскільки цей підхід використовує копіювання в тимчасовий файл.
Винятки
destinationFileName
є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів, визначених System.IO.Path.InvalidPathChars.
destinationFileName
є null.
Вказаний destinationFileName
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Вказаний destinationFileName
є недійсним, (наприклад, знаходиться на не змонтованому диску).
Виникла помилка вводу/виводу під час відкриття файлу.
destinationFileName
вказував на файл, який є тільки для читання, і доступ не є читанням.-або- шлях вказував на каталог.-або- Викликач не має необхідного дозволу.
destinationFileName
має недійсний формат.
Файл не знайдено.
Save(Stream)
Зберігає архів у наданому потоці.
public void Save(Stream output)
Параметри
output
Stream
Потік призначення.
Приклади
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save(sharFile);
}
}
Зауваження
output
повинен бути записуваним.
Винятки
output
є null.
output
не є записуваним. - або - output
є тим самим потоком, з якого ми витягуємо.