Class XarArchive

Class XarArchive

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

此类表示 xar 存档文件。

public class XarArchive : IArchive, IDisposable

继承

objectXarArchive

实现

IArchive, IDisposable

继承的成员

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

构造函数

XarArchive(XarCompressionSettings)

初始化 Aspose.Zip.Xar.XarArchive 类的新实例。

public XarArchive(XarCompressionSettings defaultCompressionSettings = null)

参数

defaultCompressionSettings XarCompressionSettings

默认压缩设置,应用于存档的所有条目。

示例

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

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

XarArchive(Stream, XarLoadOptions)

初始化 Aspose.Zip.Xar.XarArchive 类的新实例,并组合可以从存档中提取的条目列表。

public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)

参数

sourceStream Stream

存档的来源。它必须是可查找的。

loadOptions XarLoadOptions

加载存档的选项。

示例

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

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

备注

此构造函数不会解压任何条目。有关解压的详细信息,请参见 Aspose.Zip.Xar.XarFileEntry.Open 方法。

异常

ArgumentNullException

sourceStream 为 null。

ArgumentException

sourceStream 不是可查找的。

InvalidDataException

sourceStream 不是有效的 xar 存档。

XarArchive(string, XarLoadOptions)

初始化 Aspose.Zip.Xar.XarArchive 类的新实例,并组合可以从存档中提取的条目列表。

public XarArchive(string path, XarLoadOptions loadOptions = null)

参数

path string

存档文件的路径。

loadOptions XarLoadOptions

加载存档的选项。

示例

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

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

备注

此构造函数不会解压任何条目。有关解压的详细信息,请参见 Aspose.Zip.Xar.XarFileEntry.Open 方法。

异常

ArgumentNullException

path 为 null。

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

访问文件 path 被拒绝。

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

未找到文件。

DirectoryNotFoundException

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

IOException

文件已打开。

InvalidDataException

path 中的文件不是有效的 xar 存档。

属性

Entries

获取构成存档的 Aspose.Zip.Xar.XarEntry 类型的条目。

public IEnumerable<xarentry> Entries { get; }

属性值

IEnumerable<XarEntry&gt;

方法

CreateEntries(string, bool, XarCompressionSettings)

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

public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

参数

sourceDirectory string

要压缩的目录。

includeRootDirectory bool

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

compressionSettings XarCompressionSettings

用于添加 Aspose.Zip.Xar.XarEntry 项的压缩设置。

返回

XarArchive

Xar 条目实例。

示例

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(@"C:\folder", false);
        archive.Save(xarFile);
    }
}

异常

ArgumentNullException

sourceDirectory 为 null。

SecurityException

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

ArgumentException

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

PathTooLongException

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

IOException

sourceDirectory 代表一个文件,而不是一个目录。

CreateEntries(DirectoryInfo, bool, XarCompressionSettings)

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

public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

参数

directory DirectoryInfo

要压缩的目录。

includeRootDirectory bool

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

compressionSettings XarCompressionSettings

用于添加 Aspose.Zip.Xar.XarEntry 项的压缩设置。

返回

XarArchive

Xar 条目实例。

示例

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
        archive.Save(xarFile);
    }
}

异常

ArgumentNullException

directory 为 null。

SecurityException

调用者没有访问 directory 的所需权限。

IOException

directory 代表一个文件,而不是一个目录。

CreateEntry(string, FileInfo, bool, XarCompressionSettings)

在存档中创建单个条目。

public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

参数

name string

条目的名称。

fileInfo FileInfo

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

openImmediately bool

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

compressionSettings XarCompressionSettings

用于添加 Aspose.Zip.Xar.XarEntry 项的压缩设置。

返回

XarEntry

Xar 条目实例。

示例

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

备注

如果使用 openImmediately 参数立即打开文件,则在存档被释放之前,该文件将被锁定。

异常

ArgumentNullException

name 为 null。

ArgumentException

name 为空。

ArgumentNullException

fileInfo 为 null。

CreateEntry(string, string, bool, XarCompressionSettings)

在存档中创建单个条目。

public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

参数

name string

条目的名称。

sourcePath string

要压缩的文件路径。

openImmediately bool

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

compressionSettings XarCompressionSettings

用于添加 Aspose.Zip.Xar.XarEntry 项的压缩设置。

返回

XarEntry

Xar 条目实例。

示例

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

备注

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

如果使用 openImmediately 参数立即打开文件,则在存档被释放之前,该文件将被锁定。

异常

ArgumentNullException

sourcePath 为 null。

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

访问文件 sourcePath 被拒绝。

PathTooLongException

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

NotSupportedException

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

InvalidOperationException

无法修改 xar 存档。

CreateEntry(string, Stream, XarCompressionSettings)

在存档中创建单个条目。

public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)

参数

name string

条目的名称。

source Stream

条目的输入流。

compressionSettings XarCompressionSettings

用于添加 Aspose.Zip.Xar.XarEntry 项的压缩设置。

返回

XarEntry

Xar 条目实例。

示例

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

异常

ArgumentNullException

name 为 null。

ArgumentNullException

source 为 null。

ArgumentException

name 为空。

InvalidOperationException

无法修改 xar 存档。

DeleteEntry(XarEntry)

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

public XarArchive DeleteEntry(XarEntry entry)

参数

entry XarEntry

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

返回

XarArchive

Xar 条目实例。

示例

以下是如何删除所有条目,除了最后一个:

using (var archive = new XarArchive("archive.xar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries.FirstOrDefault());
    archive.Save(outputXarFile);
}

异常

ArgumentNullException

entry 为 null。

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

备注

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

异常

ArgumentNullException

path 为 null

PathTooLongException

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

SecurityException

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

NotSupportedException

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

ArgumentException

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

IOException

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

InvalidDataException

存档已损坏。

Save(string, XarSaveOptions)

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

public void Save(string destinationFileName, XarSaveOptions saveOptions = null)

参数

destinationFileName string

要创建的存档的路径。如果指定的文件名指向一个现有文件,它将被覆盖。

saveOptions XarSaveOptions

保存 xar 存档的选项。

异常

ArgumentNullException

destinationFileName 为 null。

InvalidOperationException

无法修改 xar 存档。

Save(Stream, XarSaveOptions)

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

public void Save(Stream output, XarSaveOptions saveOptions = null)

参数

output Stream

目标流。

saveOptions XarSaveOptions

保存 xar 存档的选项。

异常

ArgumentNullException

output 为 null。

ArgumentException

output 不是可写/可读或不可查找。

InvalidOperationException

无法修改 xar 存档。

 中文