Class CpioArchive
Namespace: Aspose.Zip.Cpio
Assembly: Aspose.Zip.dll (25.1.0)
このクラスはcpioアーカイブファイルを表します。
public class CpioArchive : 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メソッドを参照してください。
例外
sourceStream
がnullです。
sourceStream
がシーク可能ではありません。
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メソッドを参照してください。
例外
path
がnullです。
呼び出し元はアクセスに必要な権限を持っていません。
path
が空であるか、空白のみを含むか、無効な文字を含んでいます。
ファイルpath
へのアクセスが拒否されました。
指定されたpath
、ファイル名、または両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
path
に文字列の中間にコロン(:)が含まれています。
ファイルが見つかりません。
指定されたパスが無効です。例えば、マップされていないドライブ上にある場合など。
ファイルはすでに開いています。
プロパティ
Entries
アーカイブを構成するAspose.Zip.Cpio.CpioEntry型のエントリを取得します。
public ReadOnlyCollection<cpioentry> Entries { get; }
プロパティの値
ReadOnlyCollection<CpioEntry>
メソッド
CreateEntries(string, bool)
指定されたディレクトリ内のすべてのファイルとディレクトリを再帰的にアーカイブに追加します。
public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
パラメーター
sourceDirectory
string
圧縮するディレクトリ。
includeRootDirectory
bool
ルートディレクトリ自体を含めるかどうかを示します。
戻り値
Cpioエントリインスタンス。
例
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(cpioFile);
}
}
例外
sourceDirectory
がnullです。
呼び出し元はsourceDirectory
にアクセスするために必要な権限を持っていません。
sourceDirectory
が無効な文字を含んでいます(例: “, <, >, または |)。
指定されたパス、ファイル名、または両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。指定されたパス、ファイル名、または両方が長すぎます。
sourceDirectory
はファイルを指しており、ディレクトリではありません。
CreateEntries(DirectoryInfo, bool)
指定されたディレクトリ内のすべてのファイルとディレクトリを再帰的にアーカイブに追加します。
public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
パラメーター
directory
DirectoryInfo
圧縮するディレクトリ。
includeRootDirectory
bool
ルートディレクトリ自体を含めるかどうかを示します。
戻り値
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);
}
}
例外
directory
がnullです。
呼び出し元はdirectory
にアクセスするために必要な権限を持っていません。
directory
はファイルを指しており、ディレクトリではありません。
CreateEntry(string, FileInfo, bool)
アーカイブ内に単一のエントリを作成します。
public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
パラメーター
name
string
エントリの名前。
fileInfo
FileInfo
圧縮されるファイルまたはフォルダーのメタデータ。
openImmediately
bool
ファイルを即座に開く場合はtrue、そうでない場合はアーカイブ保存時にファイルを開きます。
戻り値
Cpioエントリインスタンス。
例
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.cpio");
}
注意事項
ファイルがopenImmediately
パラメーターで即座に開かれる場合、アーカイブが破棄されるまでブロックされます。
例外
name
がnullです。
name
が空です。
fileInfo
がnullです。
CreateEntry(string, string, bool)
アーカイブ内に単一のエントリを作成します。
public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
パラメーター
name
string
エントリの名前。
sourcePath
string
圧縮されるファイルへのパス。
openImmediately
bool
ファイルを即座に開く場合はtrue、そうでない場合はアーカイブ保存時にファイルを開きます。
戻り値
Cpioエントリインスタンス。
例
using (var archive = new CpioArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.cpio");
}
注意事項
エントリ名はname
パラメーター内でのみ設定されます。sourcePath
パラメーターで提供されたファイル名はエントリ名に影響しません。
ファイルがopenImmediately
パラメーターで即座に開かれる場合、アーカイブが破棄されるまでブロックされます。
例外
sourcePath
がnullです。
呼び出し元はアクセスに必要な権限を持っていません。
sourcePath
が空であるか、空白のみを含むか、無効な文字を含んでいます。- または - name
の一部としてファイル名が100文字を超えています。
ファイルsourcePath
へのアクセスが拒否されました。
指定されたsourcePath
、ファイル名、または両方がシステム定義の最大長を超えています。 - または - name
がcpioにとって長すぎます。
sourcePath
に文字列の中間にコロン(:)が含まれています。
CreateEntry(string, Stream)
アーカイブ内に単一のエントリを作成します。
public CpioEntry CreateEntry(string name, Stream source)
パラメーター
name
string
エントリの名前。
source
Stream
エントリの入力ストリーム。
戻り値
Cpioエントリインスタンス。
例
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
例外
name
がnullです。
source
がnullです。
name
が空です。
DeleteEntry(CpioEntry)
エントリリストから特定のエントリの最初の出現を削除します。
public CpioArchive DeleteEntry(CpioEntry entry)
パラメーター
entry
CpioEntry
エントリリストから削除するエントリ。
戻り値
Cpioエントリインスタンス。
例
以下は、最後のエントリを除くすべてのエントリを削除する方法です:
using (var archive = new CpioArchive("archive.cpio"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
例外
entry
がnullです。
DeleteEntry(int)
インデックスによってエントリをエントリリストから削除します。
public CpioArchive DeleteEntry(int entryIndex)
パラメーター
entryIndex
int
削除するエントリのゼロベースのインデックス。
戻り値
エントリが削除されたアーカイブ。
例
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
例外
entryIndex
が0未満です。- または - entryIndex
がEntries
のカウント以上です。
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");
}
注意事項
ディレクトリが存在しない場合は、作成されます。
例外
pathがnullです。
指定されたパス、ファイル名、または両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満であり、ファイル名は260文字未満でなければなりません。
呼び出し元は既存のディレクトリにアクセスするために必要な権限を持っていません。
ディレクトリが存在しない場合、パスにはドライブラベルの一部でないコロン文字(:)が含まれています(“C:"など)。
pathがゼロ長の文字列であるか、空白のみを含むか、無効な文字が1つ以上含まれています。無効な文字を取得するには、System.IO.Path.GetInvalidPathCharsメソッドを使用できます。- または - pathが接頭辞として、またはコロン文字(:)のみを含んでいます。
指定されたパスのディレクトリがファイルです。- または - ネットワーク名が不明です。
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");
}
注意事項
アーカイブを読み込んだのと同じパスに保存することも可能です。ただし、このアプローチは一時ファイルへのコピーを使用するため推奨されません。
例外
destinationFileName
がゼロ長の文字列であるか、空白のみを含むか、System.IO.Path.InvalidPathCharsで定義された1つ以上の無効な文字を含んでいます。
destinationFileName
がnullです。
指定されたdestinationFileName
、ファイル名、または両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満であり、ファイル名は260文字未満でなければなりません。
指定されたdestinationFileName
が無効です(例えば、マップされていないドライブ上にあるなど)。
ファイルを開く際にI/Oエラーが発生しました。
destinationFileName
が読み取り専用ファイルを指定しており、アクセスが読み取りではありません。- または - 指定されたパスがディレクトリです。- または - 呼び出し元が必要な権限を持っていません。
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
は書き込み可能でなければなりません。
例外
output
がnullです。
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
は書き込み可能でなければなりません。
例外
output
がnullです。
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
は書き込み可能でなければなりません。
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
は書き込み可能でなければなりません。
例外
output
がnullです。
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
は書き込み可能でなければなりません。
例外
output
がnullです。
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
は書き込み可能でなければなりません。
例外
output
がnullです。
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
は書き込み可能でなければなりません。
例外
output
がnullです。
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");
}
}