Bagikan melalui


ZipArchive.CreateEntry Metode

Definisi

Membuat entri kosong di arsip zip.

Overload

CreateEntry(String)

Membuat entri kosong yang memiliki jalur dan nama entri yang ditentukan dalam arsip zip.

CreateEntry(String, CompressionLevel)

Membuat entri kosong yang memiliki nama entri dan tingkat pemadatan yang ditentukan dalam arsip zip.

CreateEntry(String)

Sumber:
ZipArchive.cs
Sumber:
ZipArchive.cs
Sumber:
ZipArchive.cs

Membuat entri kosong yang memiliki jalur dan nama entri yang ditentukan dalam arsip zip.

public:
 System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName);
member this.CreateEntry : string -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String) As ZipArchiveEntry

Parameter

entryName
String

Jalur, relatif terhadap akar arsip, yang menentukan nama entri yang akan dibuat.

Mengembalikan

Entri kosong dalam arsip zip.

Pengecualian

entryNameadalah Empty.

entryNameadalah null.

Arsip zip tidak mendukung penulisan.

Arsip zip telah dibuang.

Contoh

Contoh berikut menunjukkan cara membuat entri dan menulisnya dengan menggunakan aliran.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
            {
                using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}
open System.IO
open System.IO.Compression

do
    use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)

    use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)

    let readmeEntry = archive.CreateEntry "Readme.txt"
    use writer = new StreamWriter(readmeEntry.Open())

    writer.WriteLine "Information about this package."
    writer.WriteLine "========================"
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
            Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
                Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
                Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
                    writer.WriteLine("Information about this package.")
                    writer.WriteLine("========================")
                End Using
            End Using
        End Using
    End Sub

End Module

Keterangan

String entryName harus mencerminkan jalur relatif entri yang ingin Anda buat dalam arsip zip. Tidak ada batasan pada string yang Anda berikan. Namun, jika tidak diformat sebagai jalur relatif, entri dibuat, tetapi Anda mungkin mendapatkan pengecualian ketika Anda mengekstrak konten arsip zip. Jika entri dengan jalur dan nama yang ditentukan sudah ada di arsip, entri kedua dibuat dengan jalur dan nama yang sama.

Nilai LastWriteTime properti untuk entri baru diatur ke waktu saat ini. Entri dikompresi menggunakan tingkat kompresi default dari algoritma kompresi yang mendasar. Jika Anda ingin menentukan tingkat kompresi yang berbeda, gunakan metode .CreateEntry

Berlaku untuk

CreateEntry(String, CompressionLevel)

Sumber:
ZipArchive.cs
Sumber:
ZipArchive.cs
Sumber:
ZipArchive.cs

Membuat entri kosong yang memiliki nama entri dan tingkat pemadatan yang ditentukan dalam arsip zip.

public:
 System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName, System.IO.Compression.CompressionLevel compressionLevel);
member this.CreateEntry : string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parameter

entryName
String

Jalur, relatif terhadap akar arsip, yang menentukan nama entri yang akan dibuat.

compressionLevel
CompressionLevel

Salah satu nilai enumerasi yang menunjukkan apakah akan menekankan kecepatan atau efektivitas kompresi saat membuat entri.

Mengembalikan

Entri kosong dalam arsip zip.

Pengecualian

entryNameadalah Empty.

entryNameadalah null.

Arsip zip tidak mendukung penulisan.

Arsip zip telah dibuang.

Contoh

Contoh berikut menunjukkan cara membuat entri dengan tingkat pemadatan optimal. Ini juga menulis ke entri baru dengan menggunakan aliran.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
            {
                using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal);
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}
open System.IO
open System.IO.Compression

do
    use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)

    use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)

    let readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
    use writer = new StreamWriter(readmeEntry.Open())

    writer.WriteLine "Information about this package."
    writer.WriteLine "========================"
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
            Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
                Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
                Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
                    writer.WriteLine("Information about this package.")
                    writer.WriteLine("========================")
                End Using
            End Using
        End Using
    End Sub

End Module

Keterangan

String entryName harus mencerminkan jalur relatif entri yang ingin Anda buat dalam arsip zip. Tidak ada batasan pada string yang Anda berikan. Namun, jika tidak diformat sebagai jalur relatif, entri dibuat, tetapi Anda mungkin mendapatkan pengecualian ketika Anda mengekstrak konten arsip zip. Jika entri dengan nama yang ditentukan sudah ada di arsip, entri kedua dibuat dengan nama yang sama.

Nilai LastWriteTime properti untuk entri baru diatur ke waktu saat ini. Atur parameter ke compressionLevelOptimal jika Anda ingin file dikompresi sebanyak mungkin. Atur compressionLevel parameter ke Fastest hanya jika Anda khawatir bahwa operasi pemadatan tidak akan selesai cukup cepat untuk skenario Anda.

Berlaku untuk