Class Archive

Class Archive

名称: Aspose.Zip 組み合わせ: Aspose.Zip.dll (25.5.0)

このクラスはZIPアーカイブファイルを構成、抽出、または更新するために使用します。

public class Archive : IArchive, IDisposable

Inheritance

object Archive

Implements

IArchive , IDisposable

相続人

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

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

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

ArgumentNullException

path’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

path" ファイルへのアクセスは拒否されます。

PathTooLongException

指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

NotSupportedException

path’ のファイルには、列の真ん中のコロン(:)が含まれています。

FileNotFoundException

ファイルは見つかりません。

DirectoryNotFoundException

指定されたルートは無効です、例えば、マッピングされていないドライブにあります。

IOException

ファイルはすでに開いています。

InvalidDataException

ファイルが腐敗している。

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

EndOfStreamException

提供されたファイルが腐敗しているため、ZIPヘッダーを充電することはできません。

Properties

Entries

ファイルを構成する Aspose.Zip.ArchiveEntry タイプの入力を受け取ります。

public ReadOnlyCollection<archiveentry> Entries { get; }

不動産価値

ReadOnlyCollection < ArchiveEntry >

NewEntrySettings

新しく追加された Aspose.Zip.ArchiveEntry アイテムに使用された圧縮および暗号化設定。

public ArchiveEntrySettings NewEntrySettings { get; }

不動産価値

ArchiveEntrySettings

Methods

CreateEntries(ディレクトリ情報、ボール)

データディレクトリのすべてのファイルとドキュメンタリーを再度追加します。

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

Parameters

directory DirectoryInfo

コンプレッシャーディレクトリ

includeRootDirectory bool

ルートディレクトリ自体を含むか否かを示す。

Returns

Archive

アーカイブで構成されたエントリー

Examples

using (Archive archive = new Archive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.zip");
}

Exceptions

DirectoryNotFoundException

directory’ へのルートは、例えば、マッピングされていないドライブにいるように、無効です。

SecurityException

通話者は、コードクラス=“paramref”>ディレクトリにアクセスするために必要な許可はありません。

CreateEntries(ボール、ボール)

データディレクトリのすべてのファイルとドキュメンタリーを再度追加します。

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

Parameters

sourceDirectory string

コンプレッシャーディレクトリ

includeRootDirectory bool

ルートディレクトリ自体を含むか否かを示す。

Returns

Archive

アーカイブで構成されたエントリー

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

ArchiveEntry

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

ArgumentNullException

path’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

path" ファイルへのアクセスは拒否されます。

PathTooLongException

指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

NotSupportedException

path’ のファイルには、列の真ん中のコロン(:)が含まれています。

CreateEntry(ストリーム、ストリーム、ArchiveEntrySettings)

ファイル内で単一のエントリーを作成します。

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

入り口の名前。

source Stream

入り口への入り口の流れ

newEntrySettings ArchiveEntrySettings

Aspose.Zip.ArchiveEntry を追加するために使用される圧縮および暗号化設定。

Returns

ArchiveEntry

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

ArchiveEntry

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

指定されたルートは無効です、例えば、マッピングされていないドライブにあります。

IOException

ファイルはすでに開いています。

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

ArchiveEntry

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

InvalidOperationException

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

ArchiveEntry

ZIP 入り口

Examples

暗号化された入力でアーカイブを作成します。

System.Func&lt;Stream&gt; 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

Archive

エントリーを含むアーカイブが削除されました。

Examples

以下は、最後の1を除くすべての投稿を削除する方法です。

using (var archive = new Archive("archive.zip"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save("last_entry.zip");
}

Exceptions

ObjectDisposedException

アーカイブが解除されました。

DeleteEntry(インタ)

入力リストからインデックスで入力を削除します。

public Archive DeleteEntry(int entryIndex)

Parameters

entryIndex int

ゼロベースの入力インデックスを削除します。

Returns

Archive

エントリーを含むアーカイブが削除されました。

Examples

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

Exceptions

ObjectDisposedException

アーカイブが廃止されました。

ArgumentOutOfRangeException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

例えば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

SecurityException

通話者は、既存のディレクトリにアクセスするための必要な許可はありません。

NotSupportedException

ディレクトリが存在しない場合、コースには、ドライブラベル(「C:」)の一部ではないコロン キャラクター(:)が含まれています。

ArgumentException

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 (:).

IOException

ルートによって指定されたディレクトリはファイルです. -or- ネットワーク名は知られていません。

InvalidDataException

間違ったパスワードが提供されました. - または - アーカイブが腐敗しています。

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

ArgumentException

outputStream’ is not writable.

ObjectDisposedException

アーカイブが解除されました。

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

destinationFileName’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

ファイルへのアクセス destinationFileName’ は拒否されます。

PathTooLongException

指定された destinationFileName、ファイル名、または両方システム定義の最大長さを超える。例えば、Windowsベースのプラットフォームでは、パスは248文字未満で、ファイル名は260文字未満でなければなりません。

NotSupportedException

ファイル destinationFileName’ には、列の真ん中のコロン(:)が含まれています。

FileNotFoundException

ファイルは見つかりません。

DirectoryNotFoundException

指定されたルートは無効です、例えば、マッピングされていないドライブにあります。

IOException

ファイルはすでに開いています。

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

InvalidOperationException

このアーカイブは既存のソースから開かれました。

NotSupportedException

このアーカイブは、XZ方法で圧縮され、暗号化されています。

ArgumentNullException

destinationDirectory’ is null.

SecurityException

通話者は、ディレクトリにアクセスするために必要な許可はありません。

ArgumentException

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

PathTooLongException

指定されたルートは、システムによって定義された最大長さを超える。

ObjectDisposedException

アーカイブが解除されました。

 日本語