Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
このクラスは、xarアーカイブファイルを表します。
public class XarArchive : IArchive, IDisposable
継承
実装
継承メンバー
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
コンストラクタ
XarArchive(XarCompressionSettings)
Aspose.Zip.Xar.XarArchiveクラスの新しいインスタンスを初期化します。
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
パラメーター
defaultCompressionSettings
XarCompressionSettings
アーカイブのすべてのエントリに適用されるデフォルトの圧縮設定。
例
次の例は、ファイルを圧縮する方法を示しています。
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Aspose.Zip.Xar.XarArchiveクラスの新しいインスタンスを初期化し、アーカイブから抽出できるエントリのリストを構成します。
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
パラメーター
sourceStream
Stream
アーカイブのソース。シーク可能でなければなりません。
loadOptions
XarLoadOptions
アーカイブを読み込むためのオプション。
例
次の例は、すべてのエントリをディレクトリに抽出する方法を示しています。
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
備考
このコンストラクタは、エントリを展開しません。展開のためにはAspose.Zip.Xar.XarFileEntry.Openメソッドを参照してください。
例外
sourceStream
がnullです。
sourceStream
がシーク可能ではありません。
sourceStream
が有効なxarアーカイブではありません。
XarArchive(string, XarLoadOptions)
Aspose.Zip.Xar.XarArchiveクラスの新しいインスタンスを初期化し、アーカイブから抽出できるエントリのリストを構成します。
public XarArchive(string path, XarLoadOptions loadOptions = null)
パラメーター
path
string
アーカイブファイルへのパス。
loadOptions
XarLoadOptions
アーカイブを読み込むためのオプション。
例
次の例は、すべてのエントリをディレクトリに抽出する方法を示しています。
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
備考
このコンストラクタは、エントリを展開しません。展開のためにはAspose.Zip.Xar.XarFileEntry.Openメソッドを参照してください。
例外
path
がnullです。
呼び出し元に必要なアクセス許可がありません。
path
が空であるか、空白のみを含むか、無効な文字を含んでいます。
path
へのアクセスが拒否されました。
指定されたpath
、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満、ファイル名は260文字未満である必要があります。
path
に文字列の中間にコロン(:)が含まれています。
ファイルが見つかりません。
指定されたパスが無効です(例えば、マップされていないドライブ上にある場合)。
ファイルがすでに開いています。
path
のファイルが有効なxarアーカイブではありません。
プロパティ
Entries
アーカイブを構成するAspose.Zip.Xar.XarEntry型のエントリを取得します。
public IEnumerable<xarentry> Entries { get; }
プロパティ値
IEnumerable<XarEntry>
メソッド
CreateEntries(string, bool, XarCompressionSettings)
指定されたディレクトリ内のすべてのファイルとディレクトリを再帰的にアーカイブに追加します。
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
パラメーター
sourceDirectory
string
圧縮するディレクトリ。
includeRootDirectory
bool
ルートディレクトリ自体を含めるかどうかを示します。
compressionSettings
XarCompressionSettings
追加されたAspose.Zip.Xar.XarEntryアイテムに使用される圧縮設定。
戻り値
Xarエントリインスタンス。
例
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
例外
sourceDirectory
がnullです。
呼び出し元にsourceDirectory
にアクセスするための必要な権限がありません。
sourceDirectory
に無効な文字(", <, >, または |)が含まれています。
指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満、ファイル名は260文字未満である必要があります。指定されたパス、ファイル名、またはその両方が長すぎます。
sourceDirectory
がファイルを指しており、ディレクトリではありません。
CreateEntries(DirectoryInfo, bool, XarCompressionSettings)
指定されたディレクトリ内のすべてのファイルとディレクトリを再帰的にアーカイブに追加します。
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
パラメーター
directory
DirectoryInfo
圧縮するディレクトリ。
includeRootDirectory
bool
ルートディレクトリ自体を含めるかどうかを示します。
compressionSettings
XarCompressionSettings
追加されたAspose.Zip.Xar.XarEntryアイテムに使用される圧縮設定。
戻り値
Xarエントリインスタンス。
例
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
例外
directory
がnullです。
呼び出し元にdirectory
にアクセスするための必要な権限がありません。
directory
がファイルを指しており、ディレクトリではありません。
CreateEntry(string, FileInfo, bool, XarCompressionSettings)
アーカイブ内に単一のエントリを作成します。
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
パラメーター
name
string
エントリの名前。
fileInfo
FileInfo
圧縮されるファイルまたはフォルダーのメタデータ。
openImmediately
bool
ファイルを即座に開く場合はtrue、そうでない場合はアーカイブ保存時にファイルを開きます。
compressionSettings
XarCompressionSettings
追加されたAspose.Zip.Xar.XarEntryアイテムに使用される圧縮設定。
戻り値
Xarエントリインスタンス。
例
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
備考
ファイルがopenImmediately
パラメーターで即座に開かれると、アーカイブが破棄されるまでブロックされます。
例外
name
がnullです。
name
が空です。
fileInfo
がnullです。
CreateEntry(string, string, bool, XarCompressionSettings)
アーカイブ内に単一のエントリを作成します。
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
パラメーター
name
string
エントリの名前。
sourcePath
string
圧縮されるファイルへのパス。
openImmediately
bool
ファイルを即座に開く場合はtrue、そうでない場合はアーカイブ保存時にファイルを開きます。
compressionSettings
XarCompressionSettings
追加されたAspose.Zip.Xar.XarEntryアイテムに使用される圧縮設定。
戻り値
Xarエントリインスタンス。
例
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
備考
エントリ名はname
パラメーター内でのみ設定されます。sourcePath
パラメーターで提供されたファイル名はエントリ名に影響しません。
ファイルがopenImmediately
パラメーターで即座に開かれると、アーカイブが破棄されるまでブロックされます。
例外
sourcePath
がnullです。
呼び出し元に必要なアクセス許可がありません。
sourcePath
が空であるか、空白のみを含むか、無効な文字を含んでいます。 - または - ファイル名がname
の一部として100文字を超えています。
sourcePath
へのアクセスが拒否されました。
指定されたsourcePath
、ファイル名、またはその両方がシステム定義の最大長を超えています。 - または - name
がxarにとって長すぎます。
sourcePath
のファイルが文字列の中間にコロン(:)を含んでいます。
xarアーカイブを変更することは不可能です。
CreateEntry(string, Stream, XarCompressionSettings)
アーカイブ内に単一のエントリを作成します。
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
パラメーター
name
string
エントリの名前。
source
Stream
エントリの入力ストリーム。
compressionSettings
XarCompressionSettings
追加されたAspose.Zip.Xar.XarEntryアイテムに使用される圧縮設定。
戻り値
Xarエントリインスタンス。
例
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
例外
name
がnullです。
source
がnullです。
name
が空です。
xarアーカイブを変更することは不可能です。
DeleteEntry(XarEntry)
エントリリストから特定のエントリの最初の出現を削除します。
public XarArchive DeleteEntry(XarEntry entry)
パラメーター
entry
XarEntry
エントリリストから削除するエントリ。
戻り値
Xarエントリインスタンス。
例
ここでは、最後のエントリを除くすべてのエントリを削除する方法を示します:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
例外
entry
がnullです。
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 XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
備考
ディレクトリが存在しない場合は、作成されます。
例外
pathがnullです。
指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満、ファイル名は260文字未満である必要があります。
呼び出し元に既存のディレクトリにアクセスするための必要な権限がありません。
ディレクトリが存在しない場合、パスにドライブラベル(“C:")の一部でないコロン文字(:)が含まれています。
pathがゼロ長の文字列、空白のみを含む、または無効な文字を1つ以上含んでいます。無効な文字を照会するには、System.IO.Path.GetInvalidPathCharsメソッドを使用できます。 - または - pathが接頭辞付き、またはコロン文字(:)のみを含んでいます。
指定されたパスのディレクトリがファイルです。 - または - ネットワーク名が不明です。
アーカイブが破損しています。
Save(string, XarSaveOptions)
指定された宛先ファイルにアーカイブを保存します。
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
パラメーター
destinationFileName
string
作成されるアーカイブのパス。指定されたファイル名が既存のファイルを指している場合は上書きされます。
saveOptions
XarSaveOptions
xarアーカイブを保存するためのオプション。
例外
destinationFileName
がnullです。
xarアーカイブを変更することは不可能です。
Save(Stream, XarSaveOptions)
指定されたストリームにアーカイブを保存します。
public void Save(Stream output, XarSaveOptions saveOptions = null)
パラメーター
output
Stream
宛先ストリーム。
saveOptions
XarSaveOptions
xarアーカイブを保存するためのオプション。
例外
output
がnullです。
output
が書き込み不可/読み取り不可またはシーク不可です。
xarアーカイブを変更することは不可能です。