Class CpioArchive

Class CpioArchive

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

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

public class CpioArchive : IArchive, IDisposable

継承

objectCpioArchive

実装

IArchive, IDisposable

継承されたメンバー

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

コンストラクター

CpioArchive()

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

public CpioArchive()

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

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

CpioArchive(Stream)

Aspose.Zip.Cpio.CpioArchiveクラスの新しいインスタンスを初期化し、アーカイブから抽出可能なエントリリストを構成します。

public CpioArchive(Stream sourceStream)

パラメーター

sourceStream Stream

アーカイブのソース。シーク可能である必要があります。

以下の例は、すべてのエントリをディレクトリに抽出する方法を示しています。

using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{ 
   archive.ExtractToDirectory("C:\extracted");
}

注意事項

このコンストラクターは、エントリを展開しません。展開についてはAspose.Zip.Cpio.CpioEntry.Openメソッドを参照してください。

例外

ArgumentNullException

sourceStreamがnullです。

ArgumentException

sourceStreamがシーク可能ではありません。

InvalidDataException

sourceStreamが有効なcpioアーカイブではありません。

CpioArchive(string)

Aspose.Zip.Cpio.CpioArchiveクラスの新しいインスタンスを初期化し、アーカイブから抽出可能なエントリリストを構成します。

public CpioArchive(string path)

パラメーター

path string

アーカイブファイルへのパス。

以下の例は、すべてのエントリをディレクトリに抽出する方法を示しています。

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

注意事項

このコンストラクターは、エントリを展開しません。展開についてはAspose.Zip.Cpio.CpioEntry.Openメソッドを参照してください。

例外

ArgumentNullException

pathがnullです。

SecurityException

呼び出し元はアクセスに必要な権限を持っていません。

ArgumentException

pathが空であるか、空白のみを含むか、無効な文字を含んでいます。

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

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

DirectoryNotFoundException

指定されたパスが無効です。例えば、マップされていないドライブ上にある場合など。

IOException

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

プロパティ

Entries

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

public ReadOnlyCollection<cpioentry> Entries { get; }

プロパティの値

ReadOnlyCollection<CpioEntry&gt;

メソッド

CreateEntries(string, bool)

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

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

パラメーター

sourceDirectory string

圧縮するディレクトリ。

includeRootDirectory bool

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

戻り値

CpioArchive

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

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

例外

ArgumentNullException

sourceDirectoryがnullです。

SecurityException

呼び出し元はsourceDirectoryにアクセスするために必要な権限を持っていません。

ArgumentException

sourceDirectoryが無効な文字を含んでいます(例: “, <, >, または |)。

PathTooLongException

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

IOException

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

CreateEntries(DirectoryInfo, bool)

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

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

パラメーター

directory DirectoryInfo

圧縮するディレクトリ。

includeRootDirectory bool

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

戻り値

CpioArchive

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

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

例外

ArgumentNullException

directoryがnullです。

SecurityException

呼び出し元はdirectoryにアクセスするために必要な権限を持っていません。

IOException

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

CreateEntry(string, FileInfo, bool)

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

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

パラメーター

name string

エントリの名前。

fileInfo FileInfo

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

openImmediately bool

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

戻り値

CpioEntry

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

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

注意事項

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

例外

ArgumentNullException

nameがnullです。

ArgumentException

nameが空です。

ArgumentNullException

fileInfoがnullです。

CreateEntry(string, string, bool)

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

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

パラメーター

name string

エントリの名前。

sourcePath string

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

openImmediately bool

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

戻り値

CpioEntry

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

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

注意事項

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

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

例外

ArgumentNullException

sourcePathがnullです。

SecurityException

呼び出し元はアクセスに必要な権限を持っていません。

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

CreateEntry(string, Stream)

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

public CpioEntry CreateEntry(string name, Stream source)

パラメーター

name string

エントリの名前。

source Stream

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

戻り値

CpioEntry

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

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

例外

ArgumentNullException

nameがnullです。

ArgumentNullException

sourceがnullです。

ArgumentException

nameが空です。

DeleteEntry(CpioEntry)

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

public CpioArchive DeleteEntry(CpioEntry entry)

パラメーター

entry CpioEntry

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

戻り値

CpioArchive

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

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

using (var archive = new CpioArchive("archive.cpio"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputCpioFile);
}

例外

ArgumentNullException

entryがnullです。

DeleteEntry(int)

インデックスによってエントリをエントリリストから削除します。

public CpioArchive DeleteEntry(int entryIndex)

パラメーター

entryIndex int

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

戻り値

CpioArchive

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

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

例外

ArgumentOutOfRangeException

entryIndexが0未満です。- または - entryIndexEntriesのカウント以上です。

Dispose()

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

public void Dispose()

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

パラメーター

disposing bool

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

ExtractToDirectory(string)

アーカイブ内のすべてのファイルを指定されたディレクトリに抽出します。

public void ExtractToDirectory(string destinationDirectory)

パラメーター

destinationDirectory string

抽出されたファイルを配置するディレクトリへのパス。

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

注意事項

ディレクトリが存在しない場合は、作成されます。

例外

ArgumentNullException

pathがnullです。

PathTooLongException

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

SecurityException

呼び出し元は既存のディレクトリにアクセスするために必要な権限を持っていません。

NotSupportedException

ディレクトリが存在しない場合、パスにはドライブラベルの一部でないコロン文字(:)が含まれています(“C:"など)。

ArgumentException

pathがゼロ長の文字列であるか、空白のみを含むか、無効な文字が1つ以上含まれています。無効な文字を取得するには、System.IO.Path.GetInvalidPathCharsメソッドを使用できます。- または - pathが接頭辞として、またはコロン文字(:)のみを含んでいます。

IOException

指定されたパスのディレクトリがファイルです。- または - ネットワーク名が不明です。

Save(string, CpioFormat)

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

public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

destinationFileName string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

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

注意事項

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

例外

ArgumentException

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

ArgumentNullException

destinationFileNameがnullです。

PathTooLongException

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

DirectoryNotFoundException

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

IOException

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

UnauthorizedAccessException

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

NotSupportedException

destinationFileNameが無効な形式です。

Save(Stream, CpioFormat)

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

public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(cpioFile);
    }
}

注意事項

outputは書き込み可能でなければなりません。

例外

ArgumentNullException

outputがnullです。

ArgumentException

outputが書き込み不可です。- または - outputは抽出元のストリームと同じです。- または - cpioFormatの形式制限により、アーカイブを保存することは不可能です。

SaveGzipped(Stream, CpioFormat)

gzip圧縮を使用してストリームにアーカイブを保存します。

public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

注意事項

outputは書き込み可能でなければなりません。

例外

ArgumentNullException

outputがnullです。

ArgumentException

outputが書き込み不可です。

SaveGzipped(string, CpioFormat)

gzip圧縮を使用してパスによってアーカイブをファイルに保存します。

public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

path string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.gz");
    }
}

SaveLZMACompressed(Stream, CpioFormat)

LZMA圧縮を使用してストリームにアーカイブを保存します。

public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveLZMACompressed(result);
        }
    }
}

注意事項

outputは書き込み可能でなければなりません。

重要: cpioアーカイブはこのメソッド内で構成されてから圧縮され、その内容は内部に保持されます。メモリ消費に注意してください。

SaveLZMACompressed(string, CpioFormat)

LZMA圧縮を使用してパスによってアーカイブをファイルに保存します。

public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

path string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveLZMACompressed("result.cpio.lzma");
    }
}

注意事項

重要: cpioアーカイブはこのメソッド内で構成されてから圧縮され、その内容は内部に保持されます。メモリ消費に注意してください。

SaveLzipped(Stream, CpioFormat)

lzip圧縮を使用してストリームにアーカイブを保存します。

public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

注意事項

outputは書き込み可能でなければなりません。

例外

ArgumentNullException

outputがnullです。

ArgumentException

outputが書き込み不可です。

SaveLzipped(string, CpioFormat)

lzip圧縮を使用してパスによってアーカイブをファイルに保存します。

public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

path string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.lz");
    }
}

SaveXzCompressed(Stream, CpioFormat, XzArchiveSettings)

xz圧縮を使用してストリームにアーカイブを保存します。

public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

settings XzArchiveSettings

特定のxzアーカイブの設定セット:辞書サイズ、ブロックサイズ、チェックタイプ。

using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveXzCompressed(result);
        }
    }
}

注意事項

outputは書き込み可能でなければなりません。

例外

ArgumentNullException

outputがnullです。

ArgumentException

outputが書き込み不可です。

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

xz圧縮を使用してパスによってアーカイブをファイルに保存します。

public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

パラメーター

path string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

settings XzArchiveSettings

特定のxzアーカイブの設定セット:辞書サイズ、ブロックサイズ、チェックタイプ。

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveXzCompressed("result.cpio.xz");
    }
}

SaveZCompressed(Stream, CpioFormat)

Z圧縮を使用してストリームにアーカイブを保存します。

public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZCompressed(result);
        }
    }
}

注意事項

outputは書き込み可能でなければなりません。

例外

ArgumentNullException

outputがnullです。

ArgumentException

outputが書き込み不可です。

SaveZCompressed(string, CpioFormat)

Z圧縮を使用してパスによってアーカイブをファイルに保存します。

public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

path string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZCompressed("result.cpio.Z");
    }
}

SaveZstandard(Stream, CpioFormat)

Zstandard圧縮を使用してストリームにアーカイブを保存します。

public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

output Stream

宛先ストリーム。

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZstandard(result);
        }
    }
}

注意事項

outputは書き込み可能でなければなりません。

例外

ArgumentNullException

outputがnullです。

ArgumentException

outputが書き込み不可です。

SaveZstandard(string, CpioFormat)

Zstandard圧縮を使用してパスによってアーカイブをファイルに保存します。

public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

パラメーター

path string

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

cpioFormat CpioFormat

cpioヘッダーフォーマットを定義します。

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.cpio.zst");
    }
}
 日本語