Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

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

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
パラメータタイプ説明
nameStringエントリの名前。
pathString新しいファイルの完全修飾名、または圧縮する相対ファイル名。
openImmediatelyBooleanファイルをすぐに開く場合は true、それ以外の場合はアーカイブ保存時にファイルを開きます。
newEntrySettingsArchiveEntrySettings追加に使用される圧縮と暗号化の設定ArchiveEntryアイテム。

戻り値

zip エントリのインスタンス。

例外

例外調子
ArgumentNullExceptionpath無効である。
SecurityException呼び出し元には、アクセスに必要なアクセス許可がありません。
ArgumentExceptionpathが空であるか、空白のみが含まれているか、無効な文字が含まれています。
UnauthorizedAccessExceptionファイルへのアクセスpath否定された。
PathTooLongException指定されたpath、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満である必要があります。
NotSupportedExceptionファイルpath文字列の途中にコロン (:) が含まれています。

備考

エントリ名は、nameパラメータ。で提供されているファイル名pathパラメータは、エントリ名には影響しません。

ファイルがすぐに開かれた場合openImmediatelyパラメータは、アーカイブが保存されるまでブロックされます。

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

関連項目


CreateEntry(string, Stream, ArchiveEntrySettings)

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

public ArchiveEntry CreateEntry(string name, Stream source, 
    ArchiveEntrySettings newEntrySettings = null)
パラメータタイプ説明
nameStringエントリの名前。
sourceStreamエントリの入力ストリーム。
newEntrySettingsArchiveEntrySettings追加に使用される圧縮と暗号化の設定ArchiveEntryアイテム。

戻り値

zip エントリのインスタンス。

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(string, FileInfo, bool, ArchiveEntrySettings)

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

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
パラメータタイプ説明
nameStringエントリの名前。
fileInfoFileInfo圧縮するファイルのメタデータ。
openImmediatelyBooleanファイルをすぐに開く場合は true、それ以外の場合はアーカイブ保存時にファイルを開きます。
newEntrySettingsArchiveEntrySettings追加に使用される圧縮と暗号化の設定ArchiveEntryアイテム。

戻り値

zip エントリのインスタンス。

例外

例外調子
UnauthorizedAccessExceptionfileInfo読み取り専用またはディレクトリです。
DirectoryNotFoundException指定されたパスは、マップされていないドライブ上にあるなど、無効です。
IOExceptionファイルは既に開いています。

備考

エントリ名は、nameパラメータ。で提供されているファイル名fileInfoパラメータは、エントリ名には影響しません。

ファイルがすぐに開かれた場合openImmediatelyパラメータは、アーカイブが保存されるまでブロックされます。

それぞれ異なる暗号化方法とパスワードで暗号化されたエントリでアーカイブを作成します。

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);
    }
}

関連項目


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

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

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, 
    FileSystemInfo fileInfo)
パラメータタイプ説明
nameStringエントリの名前。
sourceStreamエントリの入力ストリーム。
newEntrySettingsArchiveEntrySettings追加に使用される圧縮と暗号化の設定ArchiveEntryアイテム。
fileInfoFileSystemInfo圧縮するファイルまたはフォルダーのメタデータ。

戻り値

zip エントリのインスタンス。

例外

例外調子
InvalidOperationException両方sourcefileInfonull またはsourceはヌルであり、fileInfoディレクトリの略です。

備考

エントリ名は、nameパラメータ。で提供されているファイル名fileInfoパラメータは、エントリ名には影響しません。

fileInfo参照できますDirectoryInfoエントリがディレクトリの場合。

暗号化されたエントリでアーカイブを作成します。

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);
    }
}

関連項目