Class SharArchive

Class SharArchive

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

このクラスは shar アーカイブファイルを表します。

public class SharArchive : IDisposable

継承

objectSharArchive

実装

IDisposable

継承メンバー

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

コンストラクター

SharArchive()

Aspose.Zip.Shar.SharArchive クラスの新しいインスタンスを初期化します。

public SharArchive()

以下の例は、ファイルを圧縮する方法を示しています。

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

SharArchive(string)

解凍のために準備された Aspose.Zip.Shar.SharArchive クラスの新しいインスタンスを初期化します。

public SharArchive(string path)

パラメーター

path string

アーカイブのソースへのパス。

例外

ArgumentNullException

path が null です。

SecurityException

呼び出し元にはアクセスするための必要な権限がありません。

ArgumentException

path が空、空白のみ、または無効な文字を含んでいます。

UnauthorizedAccessException

ファイル path へのアクセスが拒否されました。

PathTooLongException

指定された path、ファイル名、またはその両方がシステムで定義された最大長を超えています。たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満である必要があります。

NotSupportedException

path の文字列の中間にコロン(:)が含まれています。

FileNotFoundException

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

DirectoryNotFoundException

指定されたパスが無効です(例えば、マッピングされていないドライブ上にあるなど)。

IOException

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

プロパティ

Entries

アーカイブを構成する Aspose.Zip.Shar.SharEntry 型のエントリを取得します。

public ReadOnlyCollection<sharentry> Entries { get; }

プロパティ値

ReadOnlyCollection<SharEntry&gt;

メソッド

CreateEntries(string, bool)

指定されたディレクトリ内のすべてのファイルとディレクトリを再帰的にアーカイブに追加します。

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

パラメーター

sourceDirectory string

圧縮するディレクトリ。

includeRootDirectory bool

ルートディレクトリ自体を含めるかどうかを示します。

戻り値

SharArchive

Shar エントリインスタンス。

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

例外

ArgumentNullException

sourceDirectory が null です。

SecurityException

呼び出し元には sourceDirectory へのアクセスに必要な権限がありません。

ArgumentException

sourceDirectory に無効な文字(", <, >, または |)が含まれています。

PathTooLongException

指定されたパス、ファイル名、またはその両方がシステムで定義された最大長を超えています。たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満である必要があります。指定されたパス、ファイル名、またはその両方が長すぎます。

IOException

sourceDirectory はファイルを指しており、ディレクトリではありません。

CreateEntries(DirectoryInfo, bool)

指定されたディレクトリ内のすべてのファイルとディレクトリを再帰的にアーカイブに追加します。

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

パラメーター

directory DirectoryInfo

圧縮するディレクトリ。

includeRootDirectory bool

ルートディレクトリ自体を含めるかどうかを示します。

戻り値

SharArchive

Shar エントリインスタンス。

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

例外

ArgumentNullException

directory が null です。

SecurityException

呼び出し元には directory へのアクセスに必要な権限がありません。

IOException

directory はファイルを指しており、ディレクトリではありません。

CreateEntry(string, FileInfo, bool)

アーカイブ内に単一のエントリを作成します。

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

パラメーター

name string

エントリの名前。

fileInfo FileInfo

圧縮されるファイルまたはフォルダーのメタデータ。

openImmediately bool

ファイルを即座に開く場合は true、そうでない場合はアーカイブ保存時にファイルを開きます。

戻り値

SharEntry

Shar エントリインスタンス。

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

備考

ファイルが openImmediately パラメーターで即座に開かれる場合、アーカイブが破棄されるまでブロックされます。

例外

ArgumentNullException

name が null です。

ArgumentException

name が空です。

ArgumentNullException

fileInfo が null です。

CreateEntry(string, string, bool)

アーカイブ内に単一のエントリを作成します。

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

パラメーター

name string

エントリの名前。

sourcePath string

圧縮されるファイルへのパス。

openImmediately bool

ファイルを即座に開く場合は true、そうでない場合はアーカイブ保存時にファイルを開きます。

戻り値

SharEntry

Shar エントリインスタンス。

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

備考

エントリ名は name パラメーター内でのみ設定されます。sourcePath パラメーターで提供されたファイル名はエントリ名に影響しません。

ファイルが openImmediately パラメーターで即座に開かれる場合、アーカイブが破棄されるまでブロックされます。

例外

ArgumentNullException

sourcePath が null です。

SecurityException

呼び出し元にはアクセスするための必要な権限がありません。

ArgumentException

sourcePath が空、空白のみ、または無効な文字を含んでいます。 - または - ファイル名が name の一部として 100 文字を超えています。

UnauthorizedAccessException

ファイル sourcePath へのアクセスが拒否されました。

PathTooLongException

指定された sourcePath、ファイル名、またはその両方がシステムで定義された最大長を超えています。 - または - name が shar に対して長すぎます。

NotSupportedException

sourcePath の文字列の中間にコロン(:)が含まれています。

CreateEntry(string, Stream)

アーカイブ内に単一のエントリを作成します。

public SharEntry CreateEntry(string name, Stream source)

パラメーター

name string

エントリの名前。

source Stream

エントリの入力ストリーム。

戻り値

SharEntry

Shar エントリインスタンス。

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

例外

ArgumentNullException

name が null です。

ArgumentNullException

source が null です。

ArgumentException

name が空です。

DeleteEntry(SharEntry)

特定のエントリの最初の出現をエントリリストから削除します。

public SharArchive DeleteEntry(SharEntry entry)

パラメーター

entry SharEntry

エントリリストから削除するエントリ。

戻り値

SharArchive

Shar エントリインスタンス。

以下は、最後のエントリを除くすべてのエントリを削除する方法です:

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

例外

ArgumentNullException

entry が null です。

DeleteEntry(int)

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

public SharArchive DeleteEntry(int entryIndex)

パラメーター

entryIndex int

削除するエントリのゼロベースのインデックス。

戻り値

SharArchive

エントリが削除されたアーカイブ。

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

例外

ArgumentOutOfRangeException

entryIndex が 0 より小さいです。-または- entryIndexEntries のカウント以上です。

Dispose(bool)

アンマネージリソースを解放、リリース、またはリセットするために関連付けられたアプリケーション定義のタスクを実行します。

protected virtual void Dispose(bool disposing)

パラメーター

disposing bool

マネージリソースを破棄する必要があるかどうか。

Dispose()

アンマネージリソースを解放、リリース、またはリセットするために関連付けられたアプリケーション定義のタスクを実行します。

public void Dispose()

Save(string)

指定された宛先ファイルにアーカイブを保存します。

public void Save(string destinationFileName)

パラメーター

destinationFileName string

作成されるアーカイブのパス。指定されたファイル名が既存のファイルを指している場合、上書きされます。

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

備考

アーカイブを読み込んだのと同じパスに保存することが可能です。 しかし、このアプローチは一時ファイルへのコピーを使用するため、推奨されません。

例外

ArgumentException

destinationFileName がゼロ長の文字列、空白のみ、または System.IO.Path.InvalidPathChars で定義される無効な文字を 1 つ以上含んでいます。

ArgumentNullException

destinationFileName が null です。

PathTooLongException

指定された destinationFileName、ファイル名、またはその両方がシステムで定義された最大長を超えています。たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満である必要があります。

DirectoryNotFoundException

指定された destinationFileName が無効です(例えば、マッピングされていないドライブ上にあるなど)。

IOException

ファイルを開く際に I/O エラーが発生しました。

UnauthorizedAccessException

destinationFileName が読み取り専用のファイルを指定し、アクセスが読み取りではない。-または- 指定されたパスがディレクトリです。-または- 呼び出し元には必要な権限がありません。

NotSupportedException

destinationFileName が無効な形式です。

FileNotFoundException

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

Save(Stream)

指定されたストリームにアーカイブを保存します。

public void Save(Stream output)

パラメーター

output Stream

宛先ストリーム。

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

備考

output は書き込み可能である必要があります。

例外

ArgumentNullException

output が null です。

ArgumentException

output が書き込み不可です。 - または - output が抽出元のストリームと同じです。

 日本語