ZipFileExtensions.CreateEntryFromFile Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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)
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 sourceFileName
pliku 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)
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 sourceFileName
pliku 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.