ZipFile.Open Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Otevře archiv ZIP na zadané cestě a v zadaném režimu.
Přetížení
| Name | Description |
|---|---|
| Open(String, ZipArchiveMode) |
Otevře archiv ZIP na zadané cestě a v zadaném režimu. |
| Open(String, ZipArchiveMode, Encoding) |
Otevře archiv ZIP v zadané cestě v zadaném režimu a pomocí kódování zadaného znaku pro názvy položek a komentáře. |
Open(String, ZipArchiveMode)
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
Otevře archiv ZIP na zadané cestě a v zadaném režimu.
public:
static System::IO::Compression::ZipArchive ^ Open(System::String ^ archiveFileName, System::IO::Compression::ZipArchiveMode mode);
public static System.IO.Compression.ZipArchive Open(string archiveFileName, System.IO.Compression.ZipArchiveMode mode);
static member Open : string * System.IO.Compression.ZipArchiveMode -> System.IO.Compression.ZipArchive
Public Shared Function Open (archiveFileName As String, mode As ZipArchiveMode) As ZipArchive
Parametry
- archiveFileName
- String
Cesta k archivu, která se má otevřít, určená jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.
- mode
- ZipArchiveMode
Jedna z hodnot výčtu, která určuje akce, které jsou povoleny pro položky v otevřeném archivu.
Návraty
Otevřený archiv zip.
Výjimky
archiveFileName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.
archiveFileName je null.
Zadaná archiveFileNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
archiveFileName je neplatný nebo neexistuje (například je na nemapované jednotce).
archiveFileName nelze otevřít.
nebo
mode je nastavena na Createhodnotu , ale soubor zadaný již archiveFileName existuje.
nebo
Při otevírání souboru došlo k nezadané vstupně-výstupní chybě.
archiveFileName určuje adresář.
nebo
Volající nemá požadovaná oprávnění pro přístup k souboru zadanému v archiveFileName.
mode určuje neplatnou hodnotu.
mode je nastavena na Readhodnotu , ale soubor zadaný v archiveFileName souboru nebyl nalezen.
archiveFileName obsahuje neplatný formát.
archiveFileName nelze interpretovat jako archiv zip.
nebo
mode je Update, ale položka chybí nebo je poškozena a nelze ji přečíst.
nebo
mode je Update, ale položka je příliš velká, aby se vešla do paměti.
Příklady
Následující příklad ukazuje, jak otevřít archiv zip v režimu aktualizace a přidat položku do archivu.
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);
}
}
}
}
open System.IO.Compression
let zipPath = @"c:\users\exampleuser\start.zip"
let extractPath = @"c:\users\exampleuser\extract"
let newFile = @"c:\users\exampleuser\NewFile.txt"
do
use archive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
archive.CreateEntryFromFile(newFile, "NewEntry.txt") |> ignore
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
Poznámky
Když nastavíte parametr na modeRead, archiv se otevře Open z výčtu FileMode jako hodnota režimu souboru. Pokud archiv neexistuje, FileNotFoundException vyvolá se výjimka. Nastavení parametru modeRead na ekvivalent volání OpenRead metody.
Když nastavíte parametr na modeCreatehodnotu , archiv se otevře jako FileMode.CreateNew hodnota režimu souboru. Pokud už archiv existuje, vyvolá se chyba IOException .
Když nastavíte parametr na modeUpdatehodnotu , archiv se otevře jako FileMode.OpenOrCreate hodnota režimu souboru. Pokud archiv existuje, otevře se. Existující položky lze upravit a lze vytvořit nové položky. Pokud archiv neexistuje, vytvoří se nový archiv; vytvoření archivu zip v Update režimu však není tak efektivní jako jeho vytvoření v Create režimu.
Platí pro
Open(String, ZipArchiveMode, Encoding)
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
- Zdroj:
- ZipFile.Create.cs
Otevře archiv ZIP v zadané cestě v zadaném režimu a pomocí kódování zadaného znaku pro názvy položek a komentáře.
public:
static System::IO::Compression::ZipArchive ^ Open(System::String ^ archiveFileName, System::IO::Compression::ZipArchiveMode mode, System::Text::Encoding ^ entryNameEncoding);
public static System.IO.Compression.ZipArchive Open(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding entryNameEncoding);
public static System.IO.Compression.ZipArchive Open(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding? entryNameEncoding);
static member Open : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding -> System.IO.Compression.ZipArchive
Public Shared Function Open (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding) As ZipArchive
Parametry
- archiveFileName
- String
Cesta k archivu, která se má otevřít, určená jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.
- mode
- ZipArchiveMode
Jedna z hodnot výčtu, která určuje akce, které jsou povoleny pro položky v otevřeném archivu.
- entryNameEncoding
- Encoding
Kódování, které se má použít při čtení nebo zápisu názvů položek a komentářů v tomto archivu. Zadejte hodnotu pro tento parametr pouze v případě, že je vyžadováno kódování pro interoperabilitu s nástroji a knihovnami zip archivu, které nepodporují kódování UTF-8 pro názvy položek nebo komentáře.
Návraty
Otevřený archiv zip.
Výjimky
archiveFileName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.
nebo
entryNameEncoding je nastavena na kódování Unicode jiné než UTF-8.
archiveFileName je null.
Zadaná archiveFileNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
archiveFileName je neplatný nebo neexistuje (například je na nemapované jednotce).
archiveFileName nelze otevřít.
nebo
mode je nastavena na Createhodnotu , ale soubor zadaný již archiveFileName existuje.
nebo
Při otevírání souboru došlo k nezadané vstupně-výstupní chybě.
archiveFileName určuje adresář.
nebo
Volající nemá požadovaná oprávnění pro přístup k souboru zadanému v archiveFileName.
mode určuje neplatnou hodnotu.
mode je nastavena na Readhodnotu , ale soubor zadaný v archiveFileName souboru nebyl nalezen.
archiveFileName obsahuje neplatný formát.
archiveFileName nelze interpretovat jako archiv zip.
nebo
mode je Update, ale položka chybí nebo je poškozena a nelze ji přečíst.
nebo
mode je Update, ale položka je příliš velká, aby se vešla do paměti.
Poznámky
Když nastavíte parametr na modeReadhodnotu , archiv se otevře jako FileMode.Open hodnota režimu souboru. Pokud archiv neexistuje, FileNotFoundException vyvolá se výjimka. Nastavení parametru modeRead na ekvivalent volání OpenRead metody.
Když nastavíte parametr na modeCreatehodnotu , archiv se otevře jako FileMode.CreateNew hodnota režimu souboru. Pokud už archiv existuje, vyvolá se chyba IOException .
Když nastavíte parametr na modeUpdatehodnotu , archiv se otevře jako FileMode.OpenOrCreate hodnota režimu souboru. Pokud archiv existuje, otevře se. Existující položky lze upravit a lze vytvořit nové položky. Pokud archiv neexistuje, vytvoří se nový archiv; vytvoření archivu zip v Update režimu však není tak efektivní jako jeho vytvoření v Create režimu.
Když otevřete soubor zip archivu pro čtení a entryNameEncoding je nastaven na null, názvy položek a komentáře jsou dekódovány podle následujících pravidel:
- Pokud není nastaven příznak kódování jazyka (v příznaku bitu pro obecné účely hlavičky místního souboru), použije se aktuální výchozí znaková stránka systému k dekódování názvu položky a komentáře.
- Pokud je nastaven příznak kódování jazyka, UTF-8 slouží k dekódování názvu položky a komentáře.
Když otevřete soubor zip archivu pro čtení a entryNameEncoding je nastaven na jinou hodnotu než null, názvy položek a komentáře jsou dekódovány podle následujících pravidel:
- Pokud není nastaven příznak kódování jazyka, zadaná
entryNameEncodinghodnota se použije k dekódování názvu položky a komentáře. - Pokud je nastaven příznak kódování jazyka, UTF-8 slouží k dekódování názvu položky a komentáře.
Při zápisu do archivu souborů a entryNameEncoding je nastavena na null, názvy položek a komentáře jsou kódovány podle následujících pravidel:
- Pro názvy položek nebo komentáře, které obsahují znaky mimo rozsah ASCII, je nastaven příznak kódování jazyka a názvy položek a komentáře jsou kódovány pomocí UTF-8.
- U názvů položek nebo komentářů, které obsahují pouze znaky ASCII, není nastaven příznak kódování jazyka a názvy položek a komentáře jsou kódovány pomocí aktuální výchozí znakové stránky systému.
Když zapíšete do archivačních souborů a entryNameEncoding nastavíte jinou hodnotu než null, zadaná entryNameEncoding hodnota se použije ke kódování názvů položek a komentářů do bajtů. Příznak kódování jazyka (v příznaku bitu pro obecné účely hlavičky místního souboru) je nastaven pouze v případech, kdy zadané kódování je kódování UTF-8.