ZipFile.CreateFromDirectory Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar ett zip-arkiv som innehåller filerna och katalogerna från den angivna katalogen.
Överlagringar
| Name | Description |
|---|---|
| CreateFromDirectory(String, Stream) |
Skapar ett zip-arkiv i den angivna strömmen som innehåller filerna och katalogerna från den angivna katalogen. |
| CreateFromDirectory(String, String) |
Skapar ett zip-arkiv som innehåller filerna och katalogerna från den angivna katalogen. |
| CreateFromDirectory(String, Stream, CompressionLevel, Boolean) |
Skapar ett zip-arkiv i den angivna dataströmmen som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och kan även innehålla baskatalogen. |
| CreateFromDirectory(String, String, CompressionLevel, Boolean) |
Skapar ett zip-arkiv som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och kan även innehålla baskatalogen. |
| CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding) |
Skapar ett zip-arkiv i den angivna dataströmmen som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och teckenkodningen för postnamn och kommentarer och inkluderar eventuellt baskatalogen. |
| CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding) |
Skapar ett zip-arkiv som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och teckenkodningen för postnamn och kommentarer och kan även innehålla baskatalogen. |
CreateFromDirectory(String, Stream)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
Skapar ett zip-arkiv i den angivna strömmen som innehåller filerna och katalogerna från den angivna katalogen.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::IO::Stream ^ destination);
public static void CreateFromDirectory(string sourceDirectoryName, System.IO.Stream destination);
static member CreateFromDirectory : string * System.IO.Stream -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destination As Stream)
Parametrar
- sourceDirectoryName
- String
Sökvägen till katalogen som ska arkiveras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- destination
- Stream
Strömmen där zip-arkivet ska lagras.
Undantag
sourceDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
Strömmen destination stöder inte skrivning.
sourceDirectoryName eller destination är null.
I sourceDirectoryNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.
sourceDirectoryName är ogiltigt eller finns inte (till exempel finns det på en ommappad enhet).
Det gick inte att öppna en fil i den angivna katalogen.
-eller-
Ett I/O-fel uppstod när en fil skulle arkiveras öppnades.
sourceDirectoryName innehåller ett ogiltigt format.
Kommentarer
Katalogstrukturen från filsystemet bevaras i arkivet. Om katalogen är tom skapas ett tomt arkiv. Den här metoden innehåller inte baskatalogen i arkivet och tillåter inte att du anger en komprimeringsnivå. Om du vill inkludera baskatalogen eller ange en komprimeringsnivå anropar CreateFromDirectory(String, Stream, CompressionLevel, Boolean) du metodens överlagring. Om en fil i katalogen inte kan läggas till i arkivet lämnas arkivet ofullständigt och ogiltigt och metoden utlöser ett IOException undantag.
Gäller för
CreateFromDirectory(String, String)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
Skapar ett zip-arkiv som innehåller filerna och katalogerna från den angivna katalogen.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName);
static member CreateFromDirectory : string * string -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String)
Parametrar
- sourceDirectoryName
- String
Sökvägen till katalogen som ska arkiveras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- destinationArchiveFileName
- String
Sökvägen till arkivet som ska skapas, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
Undantag
sourceDirectoryName eller destinationArchiveFileName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
sourceDirectoryName eller destinationArchiveFileName är null.
I sourceDirectoryName eller destinationArchiveFileNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.
sourceDirectoryName är ogiltigt eller finns inte (till exempel finns det på en ommappad enhet).
destinationArchiveFileName redan finns.
-eller-
Det gick inte att öppna en fil i den angivna katalogen.
-eller-
Ett I/O-fel uppstod när en fil skulle arkiveras öppnades.
destinationArchiveFileName anger en katalog.
-eller-
Anroparen har inte den behörighet som krävs för att komma åt katalogen som anges i sourceDirectoryName eller filen som anges i destinationArchiveFileName.
sourceDirectoryName eller destinationArchiveFileName innehåller ett ogiltigt format.
-eller-
Zip-arkivet stöder inte skrivning.
Exempel
Det här exemplet visar hur du skapar och extraherar ett zip-arkiv med hjälp ZipFile av klassen . Den komprimerar innehållet i en mapp till ett zip-arkiv och extraherar sedan innehållet till en ny mapp. Om du vill använda ZipFile klassen måste du referera till System.IO.Compression.FileSystem sammansättningen i projektet.
using System;
using System.IO.Compression;
class Program
{
static void Main(string[] args)
{
string startPath = @".\start";
string zipPath = @".\result.zip";
string extractPath = @".\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
open System.IO.Compression
let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = ".\start"
Dim zipPath As String = ".\result.zip"
Dim extractPath As String = ".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
Kommentarer
Katalogstrukturen från filsystemet bevaras i arkivet. Om katalogen är tom skapas ett tomt arkiv. Den här metoden innehåller inte baskatalogen i arkivet och tillåter inte att du anger en komprimeringsnivå. Om du vill inkludera baskatalogen eller ange en komprimeringsnivå anropar CreateFromDirectory(String, String, CompressionLevel, Boolean) du metodens överlagring.
Om arkivet redan finns genereras ett IOException undantag. Om det redan finns en post med det angivna namnet i arkivet skapas en andra post med ett identiskt namn.
Om en fil i katalogen inte kan läggas till i arkivet lämnas arkivet ofullständigt och ogiltigt och metoden utlöser ett IOException undantag.
Gäller för
CreateFromDirectory(String, Stream, CompressionLevel, Boolean)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
Skapar ett zip-arkiv i den angivna dataströmmen som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och kan även innehålla baskatalogen.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::IO::Stream ^ destination, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory);
public static void CreateFromDirectory(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory);
static member CreateFromDirectory : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean)
Parametrar
- sourceDirectoryName
- String
Sökvägen till katalogen som ska arkiveras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- destination
- Stream
Strömmen där zip-arkivet ska lagras.
- compressionLevel
- CompressionLevel
Ett av uppräkningsvärdena som anger om hastighets- eller komprimeringseffektivitet ska betonas när posten skapas.
- includeBaseDirectory
- Boolean
true för att inkludera katalognamnet från sourceDirectoryName roten i arkivet, false för att endast inkludera innehållet i katalogen.
Undantag
sourceDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
Strömmen destination stöder inte skrivning.
sourceDirectoryName eller destination är null.
I sourceDirectoryNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.
sourceDirectoryName är ogiltigt eller finns inte (till exempel finns det på en ommappad enhet).
Det gick inte att öppna en fil i den angivna katalogen.
-eller-
Ett I/O-fel uppstod när en fil skulle arkiveras öppnades.
sourceDirectoryName innehåller ett ogiltigt format.
compressionLevel är inte ett giltigt CompressionLevel värde.
Kommentarer
Katalogstrukturen från filsystemet bevaras i arkivet. Om katalogen är tom skapas ett tomt arkiv. Använd den här metodens överlagring för att ange komprimeringsnivån och om baskatalogen ska inkluderas i arkivet. Om en fil i katalogen inte kan läggas till i arkivet lämnas arkivet ofullständigt och ogiltigt och metoden utlöser ett IOException undantag.
Gäller för
CreateFromDirectory(String, String, CompressionLevel, Boolean)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
Skapar ett zip-arkiv som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och kan även innehålla baskatalogen.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory);
static member CreateFromDirectory : string * string * System.IO.Compression.CompressionLevel * bool -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean)
Parametrar
- sourceDirectoryName
- String
Sökvägen till katalogen som ska arkiveras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- destinationArchiveFileName
- String
Sökvägen till arkivet som ska skapas, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- compressionLevel
- CompressionLevel
Ett av uppräkningsvärdena som anger om hastighets- eller komprimeringseffektivitet ska betonas när posten skapas.
- includeBaseDirectory
- Boolean
true för att inkludera katalognamnet från sourceDirectoryName roten i arkivet, false för att endast inkludera innehållet i katalogen.
Undantag
sourceDirectoryName eller destinationArchiveFileName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
sourceDirectoryName eller destinationArchiveFileName är null.
I sourceDirectoryName eller destinationArchiveFileNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.
sourceDirectoryName är ogiltigt eller finns inte (till exempel finns det på en ommappad enhet).
destinationArchiveFileName redan finns.
-eller-
Det gick inte att öppna en fil i den angivna katalogen.
-eller-
Ett I/O-fel uppstod när en fil skulle arkiveras öppnades.
destinationArchiveFileName anger en katalog.
-eller-
Anroparen har inte den behörighet som krävs för att komma åt katalogen som anges i sourceDirectoryName eller filen som anges i destinationArchiveFileName.
sourceDirectoryName eller destinationArchiveFileName innehåller ett ogiltigt format.
-eller-
Zip-arkivet stöder inte skrivning.
Exempel
Det här exemplet visar hur du skapar och extraherar ett zip-arkiv med hjälp ZipFile av klassen . Den komprimerar innehållet i en mapp till ett zip-arkiv och extraherar sedan innehållet till en ny mapp. När du komprimerar arkivet inkluderas baskatalogen och komprimeringsnivån anges för att framhäva åtgärdens hastighet framför effektiviteten. Om du vill använda ZipFile klassen måste du referera till System.IO.Compression.FileSystem sammansättningen i projektet.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string startPath = @"c:\example\start";
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}
open System.IO.Compression
let startPath = @"c:\example\start"
let zipPath = @"c:\example\result.zip"
let extractPath = @"c:\example\extract"
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = "c:\example\start"
Dim zipPath As String = "c:\example\result.zip"
Dim extractPath As String = "c:\example\extract"
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, True)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
Kommentarer
Katalogstrukturen från filsystemet bevaras i arkivet. Om katalogen är tom skapas ett tomt arkiv. Använd den här metodens överlagring för att ange komprimeringsnivån och om baskatalogen ska inkluderas i arkivet.
Om arkivet redan finns genereras ett IOException undantag. Om det redan finns en post med det angivna namnet i arkivet skapas en andra post med ett identiskt namn.
Om en fil i katalogen inte kan läggas till i arkivet lämnas arkivet ofullständigt och ogiltigt och metoden utlöser ett IOException undantag.
Gäller för
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
Skapar ett zip-arkiv i den angivna dataströmmen som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och teckenkodningen för postnamn och kommentarer och inkluderar eventuellt baskatalogen.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::IO::Stream ^ destination, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory, System::Text::Encoding ^ entryNameEncoding);
public static void CreateFromDirectory(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding);
static member CreateFromDirectory : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding)
Parametrar
- sourceDirectoryName
- String
Sökvägen till katalogen som ska arkiveras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- destination
- Stream
Strömmen där zip-arkivet ska lagras.
- compressionLevel
- CompressionLevel
Ett av uppräkningsvärdena som anger om hastighets- eller komprimeringseffektivitet ska betonas när posten skapas.
- includeBaseDirectory
- Boolean
true för att inkludera katalognamnet från sourceDirectoryName roten i arkivet, false för att endast inkludera innehållet i katalogen.
- entryNameEncoding
- Encoding
Kodningen som ska användas vid läsning eller skrivning av postnamn och kommentarer i det här arkivet. Ange endast ett värde för den här parametern när en kodning krävs för samverkan med zip-arkivverktyg och bibliotek som inte stöder UTF-8-kodning för postnamn eller kommentarer.
Undantag
sourceDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
Strömmen destination stöder inte skrivning.
sourceDirectoryName eller destination är null.
I sourceDirectoryNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.
sourceDirectoryName är ogiltigt eller finns inte (till exempel finns det på en ommappad enhet).
Det gick inte att öppna en fil i den angivna katalogen.
-eller-
Ett I/O-fel uppstod när en fil skulle arkiveras öppnades.
sourceDirectoryName innehåller ett ogiltigt format.
compressionLevel är inte ett giltigt CompressionLevel värde.
Kommentarer
Katalogstrukturen från filsystemet bevaras i arkivet. Om katalogen är tom skapas ett tomt arkiv. Använd den här metodens överlagring för att ange komprimeringsnivå och teckenkodning och om baskatalogen ska inkluderas i arkivet. Om en fil i katalogen inte kan läggas till i arkivet lämnas arkivet ofullständigt och ogiltigt och metoden utlöser ett IOException undantag.
Gäller för
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Create.cs
Skapar ett zip-arkiv som innehåller filer och kataloger från den angivna katalogen, använder den angivna komprimeringsnivån och teckenkodningen för postnamn och kommentarer och kan även innehålla baskatalogen.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory, System::Text::Encoding ^ entryNameEncoding);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding entryNameEncoding);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding);
static member CreateFromDirectory : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding)
Parametrar
- sourceDirectoryName
- String
Sökvägen till katalogen som ska arkiveras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- destinationArchiveFileName
- String
Sökvägen till arkivet som ska skapas, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- compressionLevel
- CompressionLevel
Ett av uppräkningsvärdena som anger om hastighets- eller komprimeringseffektivitet ska betonas när posten skapas.
- includeBaseDirectory
- Boolean
true för att inkludera katalognamnet från sourceDirectoryName roten i arkivet, false för att endast inkludera innehållet i katalogen.
- entryNameEncoding
- Encoding
Kodningen som ska användas vid läsning eller skrivning av postnamn och kommentarer i det här arkivet. Ange endast ett värde för den här parametern när en kodning krävs för samverkan med zip-arkivverktyg och bibliotek som inte stöder UTF-8-kodning för postnamn eller kommentarer.
Undantag
sourceDirectoryName eller destinationArchiveFileName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
entryNameEncoding är inställt på en Unicode-kodning som inte är UTF-8.
sourceDirectoryName eller destinationArchiveFileName är null.
I sourceDirectoryName eller destinationArchiveFileNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.
sourceDirectoryName är ogiltigt eller finns inte (till exempel finns det på en ommappad enhet).
destinationArchiveFileName redan finns.
-eller-
Det gick inte att öppna en fil i den angivna katalogen.
-eller-
Ett I/O-fel uppstod när en fil skulle arkiveras öppnades.
destinationArchiveFileName anger en katalog.
-eller-
Anroparen har inte den behörighet som krävs för att komma åt katalogen som anges i sourceDirectoryName eller filen som anges i destinationArchiveFileName.
sourceDirectoryName eller destinationArchiveFileName innehåller ett ogiltigt format.
-eller-
Zip-arkivet stöder inte skrivning.
Kommentarer
Katalogstrukturen från filsystemet bevaras i arkivet. Om katalogen är tom skapas ett tomt arkiv. Använd den här metodens överlagring för att ange komprimeringsnivå och teckenkodning och om baskatalogen ska inkluderas i arkivet.
Om arkivet redan finns genereras ett IOException undantag. Om det redan finns en post med det angivna namnet i arkivet skapas en andra post med ett identiskt namn.
Om en fil i katalogen inte kan läggas till i arkivet lämnas arkivet ofullständigt och ogiltigt och metoden utlöser ett IOException undantag.
Om entryNameEncoding är inställt på ett annat värde än nullkodas postnamnen och kommentarerna med hjälp av den angivna kodningen. Om den angivna kodningen är en UTF-8-kodning anges språkkodningsflaggan (i den allmänna bitflaggan för det lokala filhuvudet) för varje post.
Om entryNameEncoding är inställt på nullkodas postnamnen och kommentarerna enligt följande regler:
För postnamn och kommentarer som innehåller tecken utanför ASCII-intervallet anges språkkodningsflaggan och UTF-8 används för att koda postens namn och kommentar.
För postnamn och kommentarer som endast innehåller ASCII-tecken anges inte språkkodningsflaggan och den aktuella systemstandardkodsidan används för att koda postnamnen och kommentarerna.