TarArchive.CreateEntry

CreateEntry(string, Stream, FileSystemInfo)

Создать одну запись в архиве.

public TarEntry CreateEntry(string name, Stream source, FileSystemInfo fileInfo = null)
ПараметрТипОписание
nameStringИмя записи.
sourceStreamВходной поток для записи.
fileInfoFileSystemInfoМетаданные файла или папки для сжатия.

Возвращаемое значение

Экземпляр записи Tar.

Исключения

исключениеусловие
PathTooLongExceptionname слишком длинный для tar по стандарту IEEE 1003.1-1998.
ArgumentExceptionИмя файла, как частьname, превышает 100 символов.

Примечания

Имя записи устанавливается исключительно в пределахname параметр. Имя файла, указанное вfileInfo параметр не влияет на имя записи.

fileInfo может относиться кDirectoryInfo если запись является каталогом.

Примеры

using (var archive = new TarArchive())
{
   archive.CreateEntry("bytes", new MemoryStream(new byte[] {0x00, 0xFF}));
   archive.Save(tarFile);
}

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


CreateEntry(string, FileInfo, bool)

Создать одну запись в архиве.

public TarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
ПараметрТипОписание
nameStringИмя записи.
fileInfoFileInfoМетаданные файла или папки для сжатия.
openImmediatelyBooleanИстинно, если открыть файл сразу, в противном случае открыть файл при сохранении архива.

Возвращаемое значение

Экземпляр записи Tar.

Исключения

исключениеусловие
PathTooLongExceptionname слишком длинный для tar по стандарту IEEE 1003.1-1998.
ArgumentExceptionИмя файла, как частьname, превышает 100 символов.

Примечания

Имя записи устанавливается исключительно в пределахname параметр. Имя файла, указанное вfileInfo параметр не влияет на имя записи.

fileInfo может относиться кDirectoryInfo если запись является каталогом.

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

Примеры

FileInfo fi = new FileInfo("data.bin");
using (var archive = new TarArchive())
{
   archive.CreateEntry("data.bin", fi);
   archive.Save(tarFile);
}

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


CreateEntry(string, string, bool)

Создать одну запись в архиве.

public TarEntry CreateEntry(string name, string path, bool openImmediately = false)
ПараметрТипОписание
nameStringИмя записи.
pathStringПуть к сжимаемому файлу.
openImmediatelyBooleanИстинно, если открыть файл сразу, в противном случае открыть файл при сохранении архива.

Возвращаемое значение

Экземпляр записи Tar.

Исключения

исключениеусловие
ArgumentNullExceptionpath нулевой.
SecurityExceptionУ вызывающего абонента нет необходимого разрешения на доступ.
ArgumentExceptionpath пуст, содержит только пробелы или содержит недопустимые символы. - или - Имя файла, как частьname, превышает 100 символов.
UnauthorizedAccessExceptionДоступ к файлуpath отказано.
PathTooLongExceptionУказанныйpath , имя файла или оба превышают максимальную длину, определенную системой. Например, на платформах Windows пути должны содержать менее 248 символов, а имена файлов — менее 260 символов. - или -name слишком длинный для tar по стандарту IEEE 1003.1-1998.
NotSupportedExceptionФайл вpath содержит двоеточие (:) в середине строки.

Примечания

Имя записи устанавливается исключительно в пределахname параметр. Имя файла, указанное вpath параметр не влияет на имя записи.

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

Примеры

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

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