Class TarArchive

Class TarArchive

Namespace: Aspose.Zip.Tar
Assembly: Aspose.Zip.dll (25.1.0)

此类表示 tar 归档文件。使用它来创建、提取或更新 tar 归档。

public class TarArchive : IArchive, IDisposable

继承

objectTarArchive

实现

IArchive, IDisposable

继承成员

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

构造函数

TarArchive()

初始化 Aspose.Zip.Tar.TarArchive 类的新实例。

public TarArchive()

示例

以下示例演示如何压缩文件。

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

TarArchive(Stream)

初始化 Aspose.Zip.Archive 类的新实例,并构建可以从归档中提取的条目列表。

public TarArchive(Stream sourceStream)

参数

sourceStream Stream

归档的来源。必须可寻址。

示例

以下示例演示如何将所有条目提取到目录中。

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

备注

此构造函数不会解压任何条目。请参阅 Aspose.Zip.Tar.TarEntry.Open 方法以进行解压。

异常

InvalidDataException

sourceStream 不是可寻址的。

TarArchive(string)

初始化 Aspose.Zip.Tar.TarArchive 类的新实例,并构建可以从归档中提取的条目列表。

public TarArchive(string path)

参数

path string

归档文件的路径。

示例

以下示例演示如何将所有条目提取到目录中。

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

备注

此构造函数不会解压任何条目。请参阅 Aspose.Zip.Tar.TarEntry.Open 方法以进行解压。

异常

ArgumentNullException

path 为 null。

SecurityException

调用方没有访问所需权限。

ArgumentException

path 为空,仅包含空格或包含无效字符。

UnauthorizedAccessException

访问文件 path 被拒绝。

PathTooLongException

指定的 path、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

NotSupportedException

path 中的文件包含中间的冒号 (:)。

FileNotFoundException

未找到文件。

DirectoryNotFoundException

指定的路径无效,例如位于未映射的驱动器上。

IOException

文件已打开。

属性

Entries

获取构成归档的 Aspose.Zip.Tar.TarEntry 类型的条目。

public ReadOnlyCollection<tarentry> Entries { get; }

属性值

ReadOnlyCollection<TarEntry&gt;

方法

CreateEntries(DirectoryInfo, bool)

将指定目录中所有文件和目录递归地添加到归档中。

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

参数

directory DirectoryInfo

要压缩的目录。

includeRootDirectory bool

指示是否包含根目录本身。

返回

TarArchive

构成条目的归档。

示例

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

CreateEntries(string, bool)

将指定目录中所有文件和目录递归地添加到归档中。

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

参数

sourceDirectory string

要压缩的目录。

includeRootDirectory bool

指示是否包含根目录本身。

返回

TarArchive

构成条目的归档。

示例

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

异常

ArgumentNullException

sourceDirectory 为 null。

SecurityException

调用方没有访问 sourceDirectory 的所需权限。

ArgumentException

sourceDirectory 包含无效字符,例如 “, <, >, 或 |。

PathTooLongException

指定的路径、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。指定的路径、文件名或两者过长。

CreateEntry(string, Stream, FileSystemInfo)

在归档中创建单个条目。

public TarEntry CreateEntry(string name, Stream source, FileSystemInfo fileInfo = null)

参数

name string

条目的名称。

source Stream

条目的输入流。

fileInfo FileSystemInfo

要压缩的文件或文件夹的元数据。

返回

TarEntry

Tar 条目实例。

示例

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

备注

条目名称仅在 name 参数中设置。fileInfo 参数中提供的文件名不会影响条目名称。

fileInfo 可以引用 System.IO.DirectoryInfo,如果条目是目录。

异常

PathTooLongException

name 对于 tar 来说太长,符合 IEEE 1003.1-1998 标准。

ArgumentException

文件名作为 name 的一部分,超过 100 个符号。

CreateEntry(string, FileInfo, bool)

在归档中创建单个条目。

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

参数

name string

条目的名称。

fileInfo FileInfo

要压缩的文件或文件夹的元数据。

openImmediately bool

如果立即打开文件,则为 true;否则在归档保存时打开文件。

返回

TarEntry

Tar 条目实例。

示例

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

备注

条目名称仅在 name 参数中设置。fileInfo 参数中提供的文件名不会影响条目名称。

fileInfo 可以引用 System.IO.DirectoryInfo,如果条目是目录。

如果使用 openImmediately 参数立即打开文件,则在归档被处置之前,该文件会被阻塞。

异常

PathTooLongException

name 对于 tar 来说太长,符合 IEEE 1003.1-1998 标准。

ArgumentException

文件名作为 name 的一部分,超过 100 个符号。

CreateEntry(string, string, bool)

在归档中创建单个条目。

public TarEntry CreateEntry(string name, string path, bool openImmediately = false)

参数

name string

条目的名称。

path string

要压缩的文件的路径。

openImmediately bool

如果立即打开文件,则为 true;否则在归档保存时打开文件。

返回

TarEntry

Tar 条目实例。

示例

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

备注

条目名称仅在 name 参数中设置。path 参数中提供的文件名不会影响条目名称。

如果使用 openImmediately 参数立即打开文件,则在归档被处置之前,该文件会被阻塞。

异常

ArgumentNullException

path 为 null。

SecurityException

调用方没有访问所需权限。

ArgumentException

path 为空,仅包含空格或包含无效字符。 - 或 - 文件名作为 name 的一部分,超过 100 个符号。

UnauthorizedAccessException

访问文件 path 被拒绝。

PathTooLongException

指定的 path、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。 - 或 - name 对于 tar 来说太长,符合 IEEE 1003.1-1998 标准。

NotSupportedException

path 中的文件包含中间的冒号 (:)。

DeleteEntry(TarEntry)

从条目列表中删除特定条目的第一个出现。

public TarArchive DeleteEntry(TarEntry entry)

参数

entry TarEntry

要从条目列表中删除的条目。

返回

TarArchive

删除条目的归档。

示例

以下是如何删除所有条目(除最后一个外):

using (var archive = new TarArchive("archive.tar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputTarFile);
}

DeleteEntry(int)

通过索引从条目列表中删除条目。

public TarArchive DeleteEntry(int entryIndex)

参数

entryIndex int

要删除的条目的零基索引。

返回

TarArchive

删除条目的归档。

示例

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

异常

ArgumentOutOfRangeException

entryIndex 小于 0。 - 或 - entryIndex 等于或大于 Entries 的计数。

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 TarArchive("archive.tar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

备注

如果目录不存在,将会创建它。

异常

ArgumentNullException

path 为 null

PathTooLongException

指定的路径、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

SecurityException

调用方没有访问现有目录的所需权限。

NotSupportedException

如果目录不存在,路径包含不属于驱动器标签 (“C:") 的冒号字符 (:)。

ArgumentException

path 是零长度字符串,仅包含空格或包含一个或多个无效字符。可以使用 System.IO.Path.GetInvalidPathChars 方法查询无效字符。 - 或 - path 以冒号字符 (:) 为前缀,或仅包含冒号字符。

IOException

指定路径的目录是一个文件。 - 或 - 网络名称未知。

FromGZip(Stream)

提取提供的 gzip 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:gzip 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromGZip(Stream source)

参数

source Stream

归档的来源。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

GZip 提取流由于压缩算法的性质而不可寻址。 Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

异常

InvalidDataException

归档已损坏。

FromGZip(string)

提取提供的 gzip 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:gzip 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromGZip(string path)

参数

path string

归档文件的路径。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

GZip 提取流由于压缩算法的性质而不可寻址。 Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

异常

InvalidDataException

归档已损坏。

FromLZMA(Stream)

提取提供的 LZMA 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:LZMA 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromLZMA(Stream source)

参数

source Stream

归档的来源。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

LZMA 提取流由于压缩算法的性质而不可寻址。Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromLZMA(string)

提取提供的 LZMA 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:LZMA 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromLZMA(string path)

参数

path string

归档文件的路径。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

LZMA 提取流由于压缩算法的性质而不可寻址。Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromLZip(Stream)

提取提供的 lzip 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:lzip 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromLZip(Stream source)

参数

source Stream

归档的来源。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

Lzip 提取流由于压缩算法的性质而不可寻址。Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromLZip(string)

提取提供的 lzip 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:lzip 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromLZip(string path)

参数

path string

归档文件的路径。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

Lzip 提取流由于压缩算法的性质而不可寻址。Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromXz(Stream)

提取提供的 xz 格式归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:xz 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromXz(Stream source)

参数

source Stream

归档的来源。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromXz(string)

提取提供的 xz 格式归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:xz 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromXz(string path)

参数

path string

归档文件的路径。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromZ(Stream)

提取提供的 Z 格式归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:Z 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromZ(Stream source)

参数

source Stream

归档的来源。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromZ(string)

提取提供的 Z 格式归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:Z 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromZ(string path)

参数

path string

归档文件的路径。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

备注

Tar 归档提供提取任意记录的功能,因此它必须在内部操作可寻址流。

FromZstandard(Stream)

提取提供的 Zstandard 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:Zstandard 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromZstandard(Stream source)

参数

source Stream

归档的来源。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

异常

IOException

Zstandard 流已损坏或不可读。

InvalidDataException

数据已损坏。

FromZstandard(string)

提取提供的 Zstandard 归档,并从提取的数据构建 Aspose.Zip.Tar.TarArchive。

重要:Zstandard 归档在此方法中完全提取,其内容在内部保留。注意内存消耗。

public static TarArchive FromZstandard(string path)

参数

path string

归档文件的路径。

返回

TarArchive

Aspose.Zip.Tar.TarArchive 的实例

异常

IOException

Zstandard 流已损坏或不可读。

InvalidDataException

数据已损坏。

Save(Stream, TarFormat?)

将归档保存到提供的流中。

public void Save(Stream output, TarFormat? format = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

using (FileStream tarFile = File.Open("archive.tar", FileMode.Create))
{
    using (var archive = new TarArchive())
    {
        archive.CreateEntry("entry1", "data.bin");
        archive.Save(tarFile);
    }
}

备注

output 必须是可写的。

异常

ArgumentException

output 不是可写的。 - 或 - output 是我们提取的相同流。 - 或 - 由于格式限制,无法以 format 保存归档。

Save(string, TarFormat?)

将归档保存到提供的目标文件中。

public void Save(string destinationFileName, TarFormat? format = null)

参数

destinationFileName string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

using (var archive = new TarArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("myarchive.tar");
}

备注

可以将归档保存到与加载时相同的路径。 但是,不建议这样做,因为这种方法使用临时文件进行复制。

异常

ArgumentException

destinationFileName 是零长度字符串,仅包含空格或包含一个或多个无效字符,如 System.IO.Path.InvalidPathChars 所定义的。

ArgumentNullException

destinationFileName 为 null。

PathTooLongException

指定的 destinationFileName、文件名或两者超过系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。

DirectoryNotFoundException

指定的 destinationFileName 无效,例如,它位于未映射的驱动器上。

IOException

打开文件时发生 I/O 错误。

UnauthorizedAccessException

destinationFileName 指定的文件为只读,且访问权限不是读取。 - 或 - 指定的路径为目录。 - 或 - 调用方没有所需的权限。

NotSupportedException

destinationFileName 的格式无效。

FileNotFoundException

未找到文件。

SaveGzipped(Stream, TarFormat?)

将归档保存到带 gzip 压缩的流中。

public void SaveGzipped(Stream output, TarFormat? format = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

备注

output 必须是可写的。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写的。

SaveGzipped(string, TarFormat?)

将归档保存到带 gzip 压缩的路径文件中。

public void SaveGzipped(string path, TarFormat? format = null)

参数

path string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

SaveLZMACompressed(Stream, TarFormat?)

将归档保存到带 LZMA 压缩的流中。

public void SaveLZMACompressed(Stream output, TarFormat? format = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

备注

output 必须是可写的。

重要:tar 归档在此方法中构建并压缩,其内容在内部保留。注意内存消耗。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写的。

SaveLZMACompressed(string, TarFormat?)

将归档保存到带 lzma 压缩的路径文件中。

public void SaveLZMACompressed(string path, TarFormat? format = null)

参数

path string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

备注

重要:tar 归档在此方法中构建并压缩,其内容在内部保留。注意内存消耗。

SaveLzipped(Stream, TarFormat?)

将归档保存到带 lzip 压缩的流中。

public void SaveLzipped(Stream output, TarFormat? format = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

备注

output 必须是可写的。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写的。

SaveLzipped(string, TarFormat?)

将归档保存到带 lzip 压缩的路径文件中。

public void SaveLzipped(string path, TarFormat? format = null)

参数

path string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

SaveXzCompressed(Stream, TarFormat?, XzArchiveSettings)

将归档保存到带 xz 压缩的流中。

public void SaveXzCompressed(Stream output, TarFormat? format = null, XzArchiveSettings settings = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

settings XzArchiveSettings

特定 xz 归档的设置集:字典大小、块大小、检查类型。

示例

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

备注

output 流必须是可写的。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写的。

SaveXzCompressed(string, TarFormat?, XzArchiveSettings)

将归档保存到带 xz 压缩的路径文件中。

public void SaveXzCompressed(string path, TarFormat? format = null, XzArchiveSettings settings = null)

参数

path string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

settings XzArchiveSettings

特定 xz 归档的设置集:字典大小、块大小、检查类型。

示例

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

SaveZCompressed(Stream, TarFormat?)

将归档保存到带 Z 压缩的流中。

public void SaveZCompressed(Stream output, TarFormat? format = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

备注

output 必须是可写的。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写的。

SaveZCompressed(string, TarFormat?)

将归档保存到带 Z 压缩的路径文件中。

public void SaveZCompressed(string path, TarFormat? format = null)

参数

path string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

SaveZstandard(Stream, TarFormat?)

将归档保存到带 Zstandard 压缩的流中。

public void SaveZstandard(Stream output, TarFormat? format = null)

参数

output Stream

目标流。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

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

备注

output 必须是可写的。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写的。

SaveZstandard(string, TarFormat?)

将归档保存到带 Zstandard 压缩的文件路径中。

public void SaveZstandard(string path, TarFormat? format = null)

参数

path string

要创建的归档的路径。如果指定的文件名指向现有文件,则将覆盖它。

format TarFormat?

定义 tar 头格式。空值将在可能的情况下视为 USTar。

示例

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new TarArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.tar.zst");
    }
}
 中文