Class SharArchive

Class SharArchive

名称: Aspose.Zip.Shar 收藏: Aspose.Zip.dll (25.5.0)

此类代表一个清晰的档案文件。

public class SharArchive : IDisposable

Inheritance

object SharArchive

Implements

IDisposable

继承人

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

Constructors

SharArchive()

启动了 Aspose.Zip.Shar.SharArchive 类的新例子。

public SharArchive()

Examples

下面的例子表明如何压缩文件。

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

SharArchive(线条)

启动了 Aspose.Zip.Shar.SharArchive 类的新例子,准备用于压缩。

public SharArchive(string path)

Parameters

path string

走到档案的源头。

Exceptions

ArgumentNullException

path’ is null.

SecurityException

召唤者没有所需的访问许可。

ArgumentException

path’ 是空的,只包含白色空间,或包含无效的字符。

UnauthorizedAccessException

拒绝访问 path" 文件。

PathTooLongException

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

NotSupportedException

文件在 path’ 中间包含一个列(:)。

FileNotFoundException

文件未找到。

DirectoryNotFoundException

指定的路径是无效的,例如在无地图驱动器上。

IOException

文件已经开放了。

Properties

Entries

收到 Aspose.Zip.Shar.SharEntry 类型的输入,构成档案。

public ReadOnlyCollection<sharentry> Entries { get; }

财产价值

ReadOnlyCollection < SharEntry >

Methods

CreateEntries(布尔,布尔)

将所有文件和目录重复添加到存档中。

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

Parameters

sourceDirectory string

编辑器压缩。

includeRootDirectory bool

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

Returns

SharArchive

Shar 入口。

Examples

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

Exceptions

ArgumentNullException

sourceDirectory’ is null.

SecurityException

通话者没有必要的许可访问 sourceDirectory。

ArgumentException

sourceDirectory’ contains invalid characters such as “, <, >, or |.

PathTooLongException

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

IOException

sourceDirectory’ stands for a file, not for a directory.

CreateEntries(首页 > 博尔)

将所有文件和目录重复添加到存档中。

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

Parameters

directory DirectoryInfo

编辑器压缩。

includeRootDirectory bool

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

Returns

SharArchive

Shar 入口。

Examples

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

Exceptions

ArgumentNullException

directory’ is null.

SecurityException

通话者没有必要的许可访问 directory。

IOException

directory’ stands for a file, not for a directory.

CreateEntry(字符串,FileInfo,bool)

在档案中创建一个单一输入。

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

Parameters

name string

入口的名称。

fileInfo FileInfo

要压缩的文件或文件夹的代码。

openImmediately bool

事实上,如果立即打开文件,否则在存储档案上打开文件。

Returns

SharEntry

Shar 入口。

Examples

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

Remarks

如果文件与参数立即打开,它将被阻止,直到档案被删除。

Exceptions

ArgumentNullException

name’ is null.

ArgumentException

name’ is empty.

ArgumentNullException

fileInfo’ is null.

CreateEntry(字符串,字符串,bool)

在档案中创建一个单一输入。

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Parameters

name string

入口的名称。

sourcePath string

文件要压缩的路径。

openImmediately bool

事实上,如果立即打开文件,否则在存储档案上打开文件。

Returns

SharEntry

Shar 入口。

Examples

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

Remarks

输入名单仅在参数中设置,参数中提供的文件名不影响输入名单。

如果文件与参数立即打开,它将被阻止,直到档案被删除。

Exceptions

ArgumentNullException

sourcePath’ is null.

SecurityException

召唤者没有所需的访问许可。

ArgumentException

sourcePath’ 是空的,只包含白色空间,或包含无效的字符. - 或 - 文件名,作为 name’ 的部分,超过 100 个符号。

UnauthorizedAccessException

拒绝访问 sourcePath’ 文件。

PathTooLongException

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

NotSupportedException

文件在 sourcePath’ 中间包含一个列(:)。

CreateEntry(流,流)

在档案中创建一个单一输入。

public SharEntry CreateEntry(string name, Stream source)

Parameters

name string

入口的名称。

source Stream

输入流的输入流。

Returns

SharEntry

Shar 入口。

Examples

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

Exceptions

ArgumentNullException

name’ is null.

ArgumentNullException

source’ is null.

ArgumentException

name’ is empty.

DeleteEntry(SharEntry)

从输入列表中删除特定输入的第一次出现。

public SharArchive DeleteEntry(SharEntry entry)

Parameters

entry SharEntry

输入要从输入列表中删除。

Returns

SharArchive

Shar 入口。

Examples

下面是如何删除所有输入,除了最后一个:

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Exceptions

ArgumentNullException

entry’ is null.

DeleteEntry(因特)

按指数从输入列表中删除输入。

public SharArchive DeleteEntry(int entryIndex)

Parameters

entryIndex int

以零为基础的输入指数要删除。

Returns

SharArchive

包含输入的档案已删除。

Examples

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

Exceptions

ArgumentOutOfRangeException

entryIndex’ is less than 0.-or- entryIndex’ is equal to or greater than ‘Entries’ count.

Dispose(博尔)

执行与释放、释放或重新管理未管理资源相关的应用定义任务。

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

管理的资源是否要消耗?

Dispose()

执行与释放、释放或重新管理未管理资源相关的应用定义任务。

public void Dispose()

Save(线条)

存储存档到提供的目的地文件。

public void Save(string destinationFileName)

Parameters

destinationFileName string

要创建档案的路径 如果指定的文件名指向现有文件,则将重写。

Examples

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

Remarks

可以将档案存储到它从下载的同一条路径,但是,这并不建议,因为这种方法使用复制到临时文件。

Exceptions

ArgumentException

destinationFileName’ is a zero-length string, contains only white space, or contains one or more invalid characters as defined by System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName’ is null.

PathTooLongException

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

DirectoryNotFoundException

指定的 destinationFileName’ 是无效的,(例如,它在一个未地图的驱动器上)。

IOException

在打开文件时出现了 I/O 错误。

UnauthorizedAccessException

destinationFileName’ specified a file that is read-only and access is not Read.-or- path specified a directory.-or- The caller does not have the required permission.

NotSupportedException

destinationFileName’ is in an invalid format.

FileNotFoundException

文件未找到。

Save(Stream)

存储存档到提供的流量。

public void Save(Stream output)

Parameters

output Stream

目的地流

Examples

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Remarks

必须是可写的。

Exceptions

ArgumentNullException

output’ is null.

ArgumentException

output’ is not writable. - or - output’ is the same stream we extract from.

 中文