Class Archive
名称: Aspose.Zip 組み合わせ: Aspose.Zip.dll (25.5.0)
このクラスはZIPアーカイブファイルを構成、抽出、または更新するために使用します。
public class Archive : IArchive, IDisposable
Inheritance
Implements
相続人
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
Archive(ArchiveEntrySettings)
Aspose.Zip.Archive クラスの新しいインスタンスをオプション設定で開始します。
public Archive(ArchiveEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
ArchiveEntrySettings
新しく追加された Aspose.Zip.ArchiveEntry アイテムに使用された圧縮および暗号化設定。指定されていない場合は、暗号化なしで最も一般的なデフライト圧縮が使用されます。
Examples
下記の例では、デフォルト設定で単一のファイルを圧縮する方法を示しています。
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Archive(ストリーム, ArchiveLoadOptions, ArchiveEntrySettings)
Aspose.Zip.Archive クラスの新しい例を開始し、アーカイブから抽出できる入力リストを構成します。
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameters
sourceStream
Stream
アーカイブの源です。
loadOptions
ArchiveLoadOptions
既存のアーカイブをアップロードするオプション
newEntrySettings
ArchiveEntrySettings
新しく追加された Aspose.Zip.ArchiveEntry アイテムに使用された圧縮および暗号化設定。指定されていない場合は、暗号化なしで最も一般的なデフライト圧縮が使用されます。
Examples
次の例では、暗号化されたアーカイブを抽出し、その後、最初のエントリーをデコンプレックスします。
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
この構造主は、いかなるエントリーもデコンプレッシャーしない。 デコンプレッシャーのための Aspose.Zip.ArchiveEntry.Open(System.String) 方法を参照してください。
Exceptions
sourceStream’ is not seekable.
AESの暗号化ヘッダーは、WinZipの圧縮方法に反する。
Archive(タグ, ArchiveLoadOptions, ArchiveEntrySettings)
Aspose.Zip.Archive クラスの新しい例を開始し、アーカイブから抽出できる入力リストを構成します。
public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameters
path
string
完全に資格あるいはアーカイブファイルへの相対的なルート。
loadOptions
ArchiveLoadOptions
既存のアーカイブをアップロードするオプション
newEntrySettings
ArchiveEntrySettings
新しく追加された Aspose.Zip.ArchiveEntry アイテムに使用された圧縮および暗号化設定。指定されていない場合は、暗号化なしで最も一般的なデフライト圧縮が使用されます。
Examples
次の例では、暗号化されたアーカイブを抽出し、その後、最初のエントリーをデコンプレックスします。
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
この構造主は、いかなるエントリーもデコンプレッシャーしない。 デコンプレッシャーのための Aspose.Zip.ArchiveEntry.Open(System.String) 方法を参照してください。
Exceptions
path’ is null.
通話者には、必要なアクセス許可はありません。
path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。
path" ファイルへのアクセスは拒否されます。
指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。
path’ のファイルには、列の真ん中のコロン(:)が含まれています。
ファイルは見つかりません。
指定されたルートは無効です、例えば、マッピングされていないドライブにあります。
ファイルはすでに開いています。
ファイルが腐敗している。
Archive(ストリップ、ストリップ( ), アーカイブオプション)
Aspose.Zip.Archiveクラスの新しい例を複数ボリュームのZipアーカイブから開始し、アーカイブから抽出できる入力リストを構成します。
public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)
Parameters
mainSegment
string
中央ディレクトリを搭載したマルチボリュームアーカイブの最後のセグメントに移動します。
通常、このセグメントには *.zip 拡張子があり、他のセグメントよりも小さくなります。
segmentsInOrder
string
( )
各セグメントへのパスですが、複数ボリュームのZIPアーカイブの最後の順序を遵守します。
通常、彼らは filename.z01, filename.z02, …, filename.z(n-1) と名付けられています。
loadOptions
ArchiveLoadOptions
既存のアーカイブをアップロードするオプション
Examples
このサンプルは、3つのセグメントのアーカイブをディレクトリに抽出します。
using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
a.ExtractToDirectory("destination");
}
Exceptions
提供されたファイルが腐敗しているため、ZIPヘッダーを充電することはできません。
Properties
Entries
ファイルを構成する Aspose.Zip.ArchiveEntry タイプの入力を受け取ります。
public ReadOnlyCollection<archiveentry> Entries { get; }
不動産価値
ReadOnlyCollection < ArchiveEntry >
NewEntrySettings
新しく追加された Aspose.Zip.ArchiveEntry アイテムに使用された圧縮および暗号化設定。
public ArchiveEntrySettings NewEntrySettings { get; }
不動産価値
Methods
CreateEntries(ディレクトリ情報、ボール)
データディレクトリのすべてのファイルとドキュメンタリーを再度追加します。
public Archive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
コンプレッシャーディレクトリ
includeRootDirectory
bool
ルートディレクトリ自体を含むか否かを示す。
Returns
アーカイブで構成されたエントリー
Examples
using (Archive archive = new Archive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.zip");
}
Exceptions
directory’ へのルートは、例えば、マッピングされていないドライブにいるように、無効です。
通話者は、コードクラス=“paramref”>ディレクトリにアクセスするために必要な許可はありません。
CreateEntries(ボール、ボール)
データディレクトリのすべてのファイルとドキュメンタリーを再度追加します。
public Archive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
コンプレッシャーディレクトリ
includeRootDirectory
bool
ルートディレクトリ自体を含むか否かを示す。
Returns
アーカイブで構成されたエントリー
Examples
using (Archive archive = new Archive())
{
archive.CreateEntries("C:\folder");
archive.Save("folder.zip");
}
CreateEntry(ストリック、ストリック、ボール、ArchiveEntrySettings)
ファイル内で単一のエントリーを作成します。
public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
入り口の名前。
path
string
新しいファイルの完全に資格のある名前、または圧縮される相対ファイル名。
openImmediately
bool
確かに、すぐにファイルを開く場合は、ファイルをアーカイブ保存で開きます。
newEntrySettings
ArchiveEntrySettings
Aspose.Zip.ArchiveEntry を追加するために使用される圧縮および暗号化設定。
Returns
ZIP 入り口
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Remarks
入力名はパラメーター内でのみ設定されます. パラメーターで提供されたファイル名は、入力名に影響を与えません。
ファイルがパラメーターで直ちに開くと、アーカイブが保存されるまでブロックされます。
Exceptions
path’ is null.
通話者には、必要なアクセス許可はありません。
path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。
path" ファイルへのアクセスは拒否されます。
指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。
path’ のファイルには、列の真ん中のコロン(:)が含まれています。
CreateEntry(ストリーム、ストリーム、ArchiveEntrySettings)
ファイル内で単一のエントリーを作成します。
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
入り口の名前。
source
Stream
入り口への入り口の流れ
newEntrySettings
ArchiveEntrySettings
Aspose.Zip.ArchiveEntry を追加するために使用される圧縮および暗号化設定。
Returns
ZIP 入り口
Examples
using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
archive.Save("archive.zip");
}
CreateEntry(ストリップ、FileInfo、bool、ArchiveEntrySettings)
ファイル内で単一のエントリーを作成します。
public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
入り口の名前。
fileInfo
FileInfo
ファイルのメタデータが圧縮されます。
openImmediately
bool
確かに、すぐにファイルを開く場合は、ファイルをアーカイブ保存で開きます。
newEntrySettings
ArchiveEntrySettings
Aspose.Zip.ArchiveEntry を追加するために使用される圧縮および暗号化設定。
Returns
ZIP 入り口
Examples
各つの暗号化方法とパスワードで暗号化されたエントリーを含むアーカイブを構成します。
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
archive.Save(zipFile);
}
}
Remarks
入力名はパラメーター内でのみ設定されます. パラメーターで提供されたファイル名は、入力名に影響を与えません。
ファイルがパラメーターで直ちに開くと、アーカイブが保存されるまでブロックされます。
Exceptions
fileInfo’ is read-only or is a directory.
指定されたルートは無効です、例えば、マッピングされていないドライブにあります。
ファイルはすでに開いています。
CreateEntry(ストリーム、ストリーム、ArchiveEntrySettings、FileSystemInfo)
ファイル内で単一のエントリーを作成します。
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
入り口の名前。
source
Stream
入り口への入り口の流れ
newEntrySettings
ArchiveEntrySettings
Aspose.Zip.ArchiveEntry を追加するために使用される圧縮および暗号化設定。
fileInfo
FileSystemInfo
ファイルまたはフォルダーのメタデータが圧縮される。
Returns
ZIP 入り口
Examples
暗号化された入力でアーカイブを作成します。
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin"));
archive.Save(zipFile);
}
}
Remarks
入力名はパラメーター内でのみ設定されます. パラメーターで提供されたファイル名は、入力名に影響を与えません。
System.IO.DirectoryInfo に参照できる場合、入力はディレクトリです。
Exceptions
source’ and
fileInfo’ are null or
source’ is null and
fileInfo’ stands for directory.
fileInfo’ is null or
source’ is null and
fileInfo’ stands for directory.
CreateEntry(ストリーム > ストリーム>, アーカイブEntrySettings)
ファイル内で単一のエントリーを作成します。
public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
入り口の名前。
streamProvider
Func
<
Stream
>
入力のための入力流を提供する方法。
newEntrySettings
ArchiveEntrySettings
Aspose.Zip.ArchiveEntry を追加するために使用される圧縮および暗号化設定。
Returns
ZIP 入り口
Examples
暗号化された入力でアーカイブを作成します。
System.Func<Stream> provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1"))));
archive.Save(zipFile);
}
}
Remarks
この方法は .NET Framework 4.0 以降および .NET Standard 2.0 バージョンに適用されます。
DeleteEntry(ArchiveEntry)
入力リストから特定の入力の最初の発生を削除します。
public Archive DeleteEntry(ArchiveEntry entry)
Parameters
entry
ArchiveEntry
入力リストから削除するための入力。
Returns
エントリーを含むアーカイブが削除されました。
Examples
以下は、最後の1を除くすべての投稿を削除する方法です。
using (var archive = new Archive("archive.zip"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save("last_entry.zip");
}
Exceptions
アーカイブが解除されました。
DeleteEntry(インタ)
入力リストからインデックスで入力を削除します。
public Archive DeleteEntry(int entryIndex)
Parameters
entryIndex
int
ゼロベースの入力インデックスを削除します。
Returns
エントリーを含むアーカイブが削除されました。
Examples
using (var archive = new TarArchive("two_files.zip"))
{
archive.DeleteEntry(0);
archive.Save("single_file.zip");
}
Exceptions
アーカイブが廃止されました。
entryIndex’ is less than 0.-or-
entryIndex’ is equal to or greater than ‘Entries’ count.
Dispose()
応用によって定義された課題を実行し、未管理資源のリリース、リリース、またはリセットに関連しています。
public void Dispose()
Dispose(ボール)
応用によって定義された課題を実行し、未管理資源のリリース、リリース、またはリセットに関連しています。
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
管理された資源は削除されるべきである。
ExtractToDirectory(ストレッチ)
アーカイブのすべてのファイルを提供されたディレクトリに抽出します。
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
引き出されたファイルを入力するためのディレクトリへのルート。
Examples
using (var archive = new Archive("archive.zip"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
ディレクトリが存在しない場合は、作成されます。
Exceptions
destinationDirectory’ is null.
例えば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。
通話者は、既存のディレクトリにアクセスするための必要な許可はありません。
ディレクトリが存在しない場合、コースには、ドライブラベル(「C:」)の一部ではないコロン キャラクター(:)が含まれています。
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).
ルートによって指定されたディレクトリはファイルです. -or- ネットワーク名は知られていません。
間違ったパスワードが提供されました. - または - アーカイブが腐敗しています。
Save(ストリーム、ArchiveSaveOptions)
提供されたストリームにアーカイブを保存します。
public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)
Parameters
outputStream
Stream
目的地の流れ
saveOptions
ArchiveSaveOptions
アーカイブ保存のオプション
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save(zipFile);
}
}
Remarks
書くべきである。
Exceptions
outputStream’ is not writable.
アーカイブが解除されました。
Save(アーカイブ, ArchiveSaveOptions)
提供された目的地ファイルにアーカイブを保存します。
public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)
Parameters
destinationFileName
string
ファイル名が既存のファイルを指定した場合、それは書き換えられます。
saveOptions
ArchiveSaveOptions
アーカイブ保存のオプション
Examples
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save("archive.zip", new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}
Remarks
しかし、このアプローチは一時的なファイルにコピーを使用しているため、これは推奨されていません。
Exceptions
destinationFileName’ is null.
通話者には、必要なアクセス許可はありません。
destinationFileName’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。
ファイルへのアクセス destinationFileName’ は拒否されます。
指定された destinationFileName、ファイル名、または両方システム定義の最大長さを超える。例えば、Windowsベースのプラットフォームでは、パスは248文字未満で、ファイル名は260文字未満でなければなりません。
ファイル destinationFileName’ には、列の真ん中のコロン(:)が含まれています。
ファイルは見つかりません。
指定されたルートは無効です、例えば、マッピングされていないドライブにあります。
ファイルはすでに開いています。
SaveSplit(ストレッチ、SplitArchiveSaveOptions)
多量アーカイブを提供された目的地ディレクトリに保存します。
public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)
Parameters
destinationDirectory
string
アーカイブセグメントが作成されるディレクトリへのルート。
options
SplitArchiveSaveOptions
ファイル名を含むアーカイブ保存のオプション
Examples
using (Archive archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitArchiveSaveOptions("volume", 65536));
}
Remarks
この方法は、複数の()ファイル filename.z01, filename.z02, …, filename.z(n-1), filename.zip を構成します。
既存のアーカイブの多量を作成することはできません。
Exceptions
このアーカイブは既存のソースから開かれました。
このアーカイブは、XZ方法で圧縮され、暗号化されています。
destinationDirectory’ is null.
通話者は、ディレクトリにアクセスするために必要な許可はありません。
destinationDirectory’ contains invalid characters such as “, >, <, or |.
指定されたルートは、システムによって定義された最大長さを超える。
アーカイブが解除されました。