Udostępnij za pośrednictwem


ZipFileExtensions.CreateEntryFromFile Metoda

Definicja

Archiwizuje plik, kompresując go i dodając go do archiwum zip.

Przeciążenia

CreateEntryFromFile(ZipArchive, String, String)

Archiwizuje plik, kompresując go i dodając go do archiwum zip.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archiwizuje plik, kompresując go przy użyciu określonego poziomu kompresji i dodając go do archiwum zip.

CreateEntryFromFile(ZipArchive, String, String)

Źródło:
ZipFileExtensions.ZipArchive.Create.cs
Źródło:
ZipFileExtensions.ZipArchive.Create.cs
Źródło:
ZipFileExtensions.ZipArchive.Create.cs

Archiwizuje plik, kompresując go i dodając go do archiwum zip.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

Parametry

destination
ZipArchive

Archiwum zip do dodania pliku.

sourceFileName
String

Ścieżka do pliku do zarchiwizowania. Można określić względną lub bezwzględną ścieżkę. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

entryName
String

Nazwa wpisu do utworzenia w archiwum zip.

Zwraca

Otoka dla nowego wpisu w archiwum zip.

Wyjątki

sourceFileName to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

entryName to Empty.

sourceFileName lub entryName ma wartość null.

W sourceFileNamepliku określona ścieżka, nazwa pliku lub obie wartości przekraczają maksymalną długość zdefiniowaną przez system.

sourceFileName jest nieprawidłowy (na przykład znajduje się na niezamapowanym dysku).

Nie można otworzyć pliku określonego przez sourceFileName program lub jest zbyt duży, aby go zaktualizować (bieżący limit to Int32.MaxValue).

sourceFileName określa katalog.

-lub-

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do pliku określonego przez sourceFileName.

Nie można odnaleźć pliku określonego przez sourceFileName program .

Parametr sourceFileName ma nieprawidłowy format.

-lub-

Archiwum zip nie obsługuje zapisywania.

Archiwum zip zostało usunięte.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć nowy wpis w archiwum zip z istniejącego pliku.

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Uwagi

Nowy wpis w archiwum zawiera zawartość pliku określonego przez sourceFileName. Jeśli wpis o określonej nazwie (entryName) już istnieje w archiwum, zostanie utworzony drugi wpis o identycznej nazwie. Właściwość LastWriteTime wpisu jest ustawiana na ostatni raz, gdy plik w systemie plików został zmieniony.

Gdy ZipArchiveMode.Update jest obecny, limit rozmiaru wpisu jest ograniczony do Int32.MaxValue. Ten limit jest spowodowany tym, że tryb aktualizacji używa elementu wewnętrznego MemoryStream , aby umożliwić wyszukiwanie wymagane podczas aktualizowania archiwum i MemoryStream ma maksymalną wartość równą rozmiarowi liczby int.

Dotyczy

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Źródło:
ZipFileExtensions.ZipArchive.Create.cs
Źródło:
ZipFileExtensions.ZipArchive.Create.cs
Źródło:
ZipFileExtensions.ZipArchive.Create.cs

Archiwizuje plik, kompresując go przy użyciu określonego poziomu kompresji i dodając go do archiwum zip.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parametry

destination
ZipArchive

Archiwum zip do dodania pliku.

sourceFileName
String

Ścieżka do pliku do zarchiwizowania. Można określić względną lub bezwzględną ścieżkę. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

entryName
String

Nazwa wpisu do utworzenia w archiwum zip.

compressionLevel
CompressionLevel

Jedna z wartości wyliczenia, która wskazuje, czy podczas tworzenia wpisu należy podkreślić szybkość, czy kompresję.

Zwraca

Otoka dla nowego wpisu w archiwum zip.

Wyjątki

sourceFileName to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

entryName to Empty.

sourceFileName lub entryName ma wartość null.

sourceFileName jest nieprawidłowy (na przykład znajduje się na niezamapowanym dysku).

W sourceFileNamepliku określona ścieżka, nazwa pliku lub obie wartości przekraczają maksymalną długość zdefiniowaną przez system.

Nie można otworzyć pliku określonego przez sourceFileName program lub jest zbyt duży, aby go zaktualizować (bieżący limit to Int32.MaxValue).

sourceFileName określa katalog.

-lub-

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do pliku określonego przez sourceFileName.

Nie można odnaleźć pliku określonego przez sourceFileName program .

Parametr sourceFileName ma nieprawidłowy format.

-lub-

Archiwum zip nie obsługuje zapisywania.

Archiwum zip zostało usunięte.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć nowy wpis w archiwum zip z istniejącego pliku i określić poziom kompresji.

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest);
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Uwagi

Nowy wpis w archiwum zawiera zawartość pliku określonego przez sourceFileName. Jeśli wpis o określonej nazwie (entryName) już istnieje w archiwum, zostanie utworzony drugi wpis o identycznej nazwie. Właściwość LastWriteTime wpisu jest ustawiana na ostatni raz, gdy plik w systemie plików został zmieniony.

Gdy ZipArchiveMode.Update jest obecny, limit rozmiaru wpisu jest ograniczony do Int32.MaxValue. Ten limit jest spowodowany tym, że tryb aktualizacji używa elementu wewnętrznego MemoryStream , aby umożliwić wyszukiwanie wymagane podczas aktualizowania archiwum i MemoryStream ma maksymalną wartość równą rozmiarowi liczby int.

Dotyczy