Class SharArchive
名称: Aspose.Zip.Shar 收藏: Aspose.Zip.dll (25.5.0)
此类代表一个清晰的档案文件。
public class SharArchive : IDisposable
Inheritance
Implements
继承人
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
path’ is null.
召唤者没有所需的访问许可。
path’ 是空的,只包含白色空间,或包含无效的字符。
拒绝访问 path" 文件。
指定的 path’, 文件名, 或两者都超过系统定义的最大长度. 例如,在基于 Windows 的平台上,路径必须小于 248 个字符, 文件名必须小于 260 个字符。
文件在 path’ 中间包含一个列(:)。
文件未找到。
指定的路径是无效的,例如在无地图驱动器上。
文件已经开放了。
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
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
sourceDirectory’ is null.
通话者没有必要的许可访问 sourceDirectory。
sourceDirectory’ contains invalid characters such as “, <, >, or |.
指定路径、文件名或两者都超过系统定义的最大长度. 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
sourceDirectory’ stands for a file, not for a directory.
CreateEntries(首页 > 博尔)
将所有文件和目录重复添加到存档中。
public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
编辑器压缩。
includeRootDirectory
bool
指示是否要包含根目录本身。
Returns
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
directory’ is null.
通话者没有必要的许可访问 directory。
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
Shar 入口。
Examples
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.shar");
}
Remarks
如果文件与参数立即打开,它将被阻止,直到档案被删除。
Exceptions
name’ is null.
name’ is empty.
fileInfo’ is null.
CreateEntry(字符串,字符串,bool)
在档案中创建一个单一输入。
public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
Parameters
name
string
入口的名称。
sourcePath
string
文件要压缩的路径。
openImmediately
bool
事实上,如果立即打开文件,否则在存储档案上打开文件。
Returns
Shar 入口。
Examples
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
Remarks
输入名单仅在参数中设置,参数中提供的文件名不影响输入名单。
如果文件与参数立即打开,它将被阻止,直到档案被删除。
Exceptions
sourcePath’ is null.
召唤者没有所需的访问许可。
sourcePath’ 是空的,只包含白色空间,或包含无效的字符. - 或 - 文件名,作为
name’ 的部分,超过 100 个符号。
拒绝访问 sourcePath’ 文件。
指定的 sourcePath’, 文件名, 或两者都超过系统定义的最大长度. 例如,在基于 Windows 的平台上,路径必须小于 248 个字符, 文件名必须小于 260 个字符。
文件在 sourcePath’ 中间包含一个列(:)。
CreateEntry(流,流)
在档案中创建一个单一输入。
public SharEntry CreateEntry(string name, Stream source)
Parameters
name
string
入口的名称。
source
Stream
输入流的输入流。
Returns
Shar 入口。
Examples
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Exceptions
name’ is null.
source’ is null.
name’ is empty.
DeleteEntry(SharEntry)
从输入列表中删除特定输入的第一次出现。
public SharArchive DeleteEntry(SharEntry entry)
Parameters
entry
SharEntry
输入要从输入列表中删除。
Returns
Shar 入口。
Examples
下面是如何删除所有输入,除了最后一个:
using (var archive = new SharArchive("archive.shar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Exceptions
entry’ is null.
DeleteEntry(因特)
按指数从输入列表中删除输入。
public SharArchive DeleteEntry(int entryIndex)
Parameters
entryIndex
int
以零为基础的输入指数要删除。
Returns
包含输入的档案已删除。
Examples
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Exceptions
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
destinationFileName’ is a zero-length string, contains only white space, or contains one or more invalid characters as defined by System.IO.Path.InvalidPathChars.
destinationFileName’ is null.
指定的 destinationFileName’, 文件名, 或两者都超过系统定义的最大长度. 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
指定的 destinationFileName’ 是无效的,(例如,它在一个未地图的驱动器上)。
在打开文件时出现了 I/O 错误。
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.
destinationFileName’ is in an invalid format.
文件未找到。
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
output’ is null.
output’ is not writable. - or -
output’ is the same stream we extract from.