ZipFile.Open Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee opent u een zip-archief op het opgegeven pad en in de opgegeven modus.
Overloads
| Name | Description |
|---|---|
| Open(String, ZipArchiveMode) |
Hiermee opent u een zip-archief op het opgegeven pad en in de opgegeven modus. |
| Open(String, ZipArchiveMode, Encoding) |
Hiermee opent u een zip-archief op het opgegeven pad in de opgegeven modus en gebruikt u de opgegeven tekencodering voor vermeldingsnamen en opmerkingen. |
Open(String, ZipArchiveMode)
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
Hiermee opent u een zip-archief op het opgegeven pad en in de opgegeven modus.
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
Parameters
- archiveFileName
- String
Het pad naar het archief dat moet worden geopend, opgegeven als een relatief of absoluut pad. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap.
- mode
- ZipArchiveMode
Een van de opsommingswaarden waarmee de acties worden opgegeven die zijn toegestaan voor de items in het geopende archief.
Retouren
Het geopende zip-archief.
Uitzonderingen
archiveFileName is Empty, bevat slechts witruimte of bevat ten minste één ongeldig teken.
archiveFileName is null.
Het archiveFileNameopgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.
archiveFileName is ongeldig of bestaat niet (bijvoorbeeld op een niet-toegewezen station).
archiveFileName kan niet worden geopend.
– of –
mode is ingesteld op Create, maar het opgegeven archiveFileName bestand bestaat al.
– of –
Er is een niet-opgegeven I/O-fout opgetreden tijdens het openen van het bestand.
archiveFileName hiermee geeft u een map.
– of –
De aanroeper heeft niet de vereiste machtiging om toegang te krijgen tot het bestand dat is opgegeven in archiveFileName.
mode geeft een ongeldige waarde op.
mode is ingesteld op Read, maar het opgegeven archiveFileName bestand is niet gevonden.
archiveFileName bevat een ongeldige indeling.
archiveFileName kan niet worden geïnterpreteerd als een zip-archief.
– of –
mode is Update, maar een vermelding ontbreekt of is beschadigd en kan niet worden gelezen.
– of –
mode is Update, maar een ingang is te groot om in het geheugen te passen.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een zip-archief opent in de updatemodus en een vermelding toevoegt aan het archief.
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
Opmerkingen
Wanneer u de mode parameter Readinstelt op, wordt het archief geopend met Open behulp van de FileMode opsomming als de waarde van de bestandsmodus. Als het archief niet bestaat, wordt er een FileNotFoundException uitzondering gegenereerd. Het instellen van de mode parameter Read is gelijk aan het aanroepen van de OpenRead methode.
Wanneer u de mode parameter Createinstelt op, wordt het archief geopend met FileMode.CreateNew als de waarde van de bestandsmodus. Als het archief al bestaat, wordt er een IOException gegenereerd.
Wanneer u de mode parameter Updateinstelt op, wordt het archief geopend met FileMode.OpenOrCreate als de waarde van de bestandsmodus. Als het archief bestaat, wordt het geopend. De bestaande vermeldingen kunnen worden gewijzigd en nieuwe vermeldingen kunnen worden gemaakt. Als het archief niet bestaat, wordt er een nieuw archief gemaakt; het maken van een zip-archief in Update de modus is echter niet zo efficiënt als het maken ervan in Create de modus.
Van toepassing op
Open(String, ZipArchiveMode, Encoding)
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
- Bron:
- ZipFile.Create.cs
Hiermee opent u een zip-archief op het opgegeven pad in de opgegeven modus en gebruikt u de opgegeven tekencodering voor vermeldingsnamen en opmerkingen.
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
Parameters
- archiveFileName
- String
Het pad naar het archief dat moet worden geopend, opgegeven als een relatief of absoluut pad. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap.
- mode
- ZipArchiveMode
Een van de opsommingswaarden waarmee de acties worden opgegeven die zijn toegestaan voor de items in het geopende archief.
- entryNameEncoding
- Encoding
De codering die moet worden gebruikt bij het lezen of schrijven van invoernamen en opmerkingen in dit archief. Geef alleen een waarde op voor deze parameter wanneer een codering is vereist voor interoperabiliteit met zip-archiefhulpprogramma's en -bibliotheken die UTF-8-codering niet ondersteunen voor vermeldingsnamen of opmerkingen.
Retouren
Het geopende zip-archief.
Uitzonderingen
archiveFileName is Empty, bevat slechts witruimte of bevat ten minste één ongeldig teken.
– of –
entryNameEncoding is ingesteld op een Andere Unicode-codering dan UTF-8.
archiveFileName is null.
Het archiveFileNameopgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.
archiveFileName is ongeldig of bestaat niet (bijvoorbeeld op een niet-toegewezen station).
archiveFileName kan niet worden geopend.
– of –
mode is ingesteld op Create, maar het opgegeven archiveFileName bestand bestaat al.
– of –
Er is een niet-opgegeven I/O-fout opgetreden tijdens het openen van het bestand.
archiveFileName hiermee geeft u een map.
– of –
De aanroeper heeft niet de vereiste machtiging om toegang te krijgen tot het bestand dat is opgegeven in archiveFileName.
mode geeft een ongeldige waarde op.
mode is ingesteld op Read, maar het opgegeven archiveFileName bestand is niet gevonden.
archiveFileName bevat een ongeldige indeling.
archiveFileName kan niet worden geïnterpreteerd als een zip-archief.
– of –
mode is Update, maar een vermelding ontbreekt of is beschadigd en kan niet worden gelezen.
– of –
mode is Update, maar een ingang is te groot om in het geheugen te passen.
Opmerkingen
Wanneer u de mode parameter Readinstelt op, wordt het archief geopend met FileMode.Open als de waarde van de bestandsmodus. Als het archief niet bestaat, wordt er een FileNotFoundException uitzondering gegenereerd. Het instellen van de mode parameter Read is gelijk aan het aanroepen van de OpenRead methode.
Wanneer u de mode parameter Createinstelt op, wordt het archief geopend met FileMode.CreateNew als de waarde van de bestandsmodus. Als het archief al bestaat, wordt er een IOException gegenereerd.
Wanneer u de mode parameter Updateinstelt op, wordt het archief geopend met FileMode.OpenOrCreate als de waarde van de bestandsmodus. Als het archief bestaat, wordt het geopend. De bestaande vermeldingen kunnen worden gewijzigd en nieuwe vermeldingen kunnen worden gemaakt. Als het archief niet bestaat, wordt er een nieuw archief gemaakt; het maken van een zip-archief in Update de modus is echter niet zo efficiënt als het maken ervan in Create de modus.
Wanneer u een zip-archiefbestand opent voor lezen en entryNameEncoding is ingesteld op null, worden invoernamen en opmerkingen gedecodeerd volgens de volgende regels:
- Wanneer de vlag voor taalcodering (in de bitvlag voor algemeen gebruik van de lokale bestandskoptekst) niet is ingesteld, wordt de standaardcodepagina van het huidige systeem gebruikt om de naam en opmerking van de vermelding te decoderen.
- Wanneer de vlag voor taalcodering is ingesteld, wordt UTF-8 gebruikt om de vermeldingsnaam en opmerking te decoderen.
Wanneer u een zip-archiefbestand opent voor lezen en entryNameEncoding is ingesteld op een andere waarde dan null, worden invoernamen en opmerkingen gedecodeerd volgens de volgende regels:
- Wanneer de vlag voor taalcodering niet is ingesteld, wordt de opgegeven
entryNameEncodingvlag gebruikt om de vermeldingsnaam en opmerking te decoderen. - Wanneer de vlag voor taalcodering is ingesteld, wordt UTF-8 gebruikt om de vermeldingsnaam en opmerking te decoderen.
Wanneer u naar archiefbestanden schrijft en entryNameEncoding is ingesteld op null, worden vermeldingsnamen en opmerkingen gecodeerd volgens de volgende regels:
- Voor invoernamen of opmerkingen die tekens bevatten buiten het ASCII-bereik, wordt de vlag voor taalcodering ingesteld en worden vermeldingsnamen en opmerkingen gecodeerd met behulp van UTF-8.
- Voor invoernamen of opmerkingen die alleen ASCII-tekens bevatten, is de taalcoderingsvlag niet ingesteld en worden invoernamen en opmerkingen gecodeerd met behulp van de huidige standaardcodepagina van het systeem.
Wanneer u naar archiefbestanden schrijft en entryNameEncoding is ingesteld op een andere waarde dan null, wordt de opgegeven entryNameEncoding waarde gebruikt om de invoernamen en opmerkingen te coderen in bytes. De taalcoderingsvlag (in de vlag voor algemeen gebruik van de lokale bestandskoptekst) wordt alleen ingesteld wanneer de opgegeven codering een UTF-8-codering is.