ZipFile.CreateFromDirectory Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un archivo zip que contiene los archivos y directorios del directorio especificado.
Sobrecargas
CreateFromDirectory(String, Stream) |
Crea un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado. |
CreateFromDirectory(String, String) |
Crea un archivo zip que contiene los archivos y directorios del directorio especificado. |
CreateFromDirectory(String, Stream, CompressionLevel, Boolean) |
Crea un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, usa el nivel de compresión especificado y, opcionalmente, incluye el directorio base. |
CreateFromDirectory(String, String, CompressionLevel, Boolean) |
Crea un archivo zip que contiene los archivos y directorios del directorio especificado, utiliza el nivel de compresión especificado y, opcionalmente, incluye el directorio base. |
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding) |
Crea un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, usa el nivel de compresión y la codificación de caracteres especificados para los nombres de entrada y, opcionalmente, incluye el directorio base. |
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding) |
Crea un archivo zip que contiene los archivos y directorios del directorio especificado, utiliza el nivel de compresión y la codificación de caracteres especificados para los nombres de entrada y, opcionalmente, incluye el directorio base. |
CreateFromDirectory(String, Stream)
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
Crea un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado.
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)
Parámetros
- sourceDirectoryName
- String
La ruta de acceso al directorio que se va a almacenar, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- destination
- Stream
Secuencia donde se va a almacenar el archivo ZIP.
Excepciones
El valor de sourceDirectoryName
es Empty, contiene solo espacios en blanco o contiene al menos un carácter no válido.
o bien
La destination
secuencia no admite la escritura.
sourceDirectoryName
o destination
es null
.
En sourceDirectoryName
la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El valor de sourceDirectoryName
no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
Un archivo en el directorio especificado no se pudo abrir.
o bien
Se ha producido un error de E/S al abrir un archivo que se va a archivar.
sourceDirectoryName
contiene un formato no válido.
Comentarios
La estructura de directorios del sistema de archivos se conserva en el archivo. Si el directorio está vacío, se crea un archivo vacío. Esta sobrecarga de método no incluye el directorio base en el archivo y no permite especificar un nivel de compresión. Si desea incluir el directorio base o especificar un nivel de compresión, llame a la sobrecarga del CreateFromDirectory(String, Stream, CompressionLevel, Boolean) método. Si no se puede agregar un archivo en el directorio al archivo, el archivo se deja incompleto y no es válido y el método produce una IOException excepción.
Se aplica a
CreateFromDirectory(String, String)
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
Crea un archivo zip que contiene los archivos y directorios del directorio especificado.
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)
Parámetros
- sourceDirectoryName
- String
La ruta de acceso al directorio que se va a almacenar, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- destinationArchiveFileName
- String
La ruta de acceso del archivo que se creará, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
Excepciones
sourceDirectoryName
o destinationArchiveFileName
es Empty, contiene solo espacios en blanco o contiene al menos un carácter no válido.
sourceDirectoryName
o destinationArchiveFileName
es null
.
En sourceDirectoryName
o destinationArchiveFileName
, la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El valor de sourceDirectoryName
no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
destinationArchiveFileName
ya existe.
o bien
Un archivo en el directorio especificado no se pudo abrir.
o bien
Se ha producido un error de E/S al abrir un archivo que se va a archivar.
destinationArchiveFileName
especifica un directorio.
o bien
El llamador no tiene el permiso necesario para tener acceso al directorio especificado en sourceDirectoryName
o al archivo especificado en destinationArchiveFileName
.
sourceDirectoryName
o destinationArchiveFileName
contiene un formato no válido.
o bien
El archivo zip no admite escritura.
Ejemplos
En este ejemplo se muestra cómo crear y extraer un archivo ZIP mediante la ZipFile clase . Comprime el contenido de una carpeta en un archivo ZIP y, a continuación, extrae ese contenido en una nueva carpeta. Para usar la clase ZipFile, debe hacer referencia al ensamblado System.IO.Compression.FileSystem
del proyecto.
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
Comentarios
La estructura de directorios del sistema de archivos se conserva en el archivo. Si el directorio está vacío, se crea un archivo vacío. Esta sobrecarga de método no incluye el directorio base en el archivo y no permite especificar un nivel de compresión. Si desea incluir el directorio base o especificar un nivel de compresión, llame a la sobrecarga del CreateFromDirectory(String, String, CompressionLevel, Boolean) método.
Si el archivo ya existe, se produce una IOException excepción. Si ya existe una entrada con el nombre especificado en el archivo, se crea una segunda entrada con un nombre idéntico.
Si no se puede agregar un archivo en el directorio al archivo, el archivo se deja incompleto y no es válido y el método produce una IOException excepción.
Se aplica a
CreateFromDirectory(String, Stream, CompressionLevel, Boolean)
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
Crea un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, usa el nivel de compresión especificado y, opcionalmente, incluye el directorio base.
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)
Parámetros
- sourceDirectoryName
- String
La ruta de acceso al directorio que se va a almacenar, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- destination
- Stream
Secuencia donde se va a almacenar el archivo ZIP.
- compressionLevel
- CompressionLevel
Uno de los valores de enumeración que indica si se va a hacer hincapié en la eficacia de velocidad o de compresión al crear la entrada.
- includeBaseDirectory
- Boolean
true
para incluir el nombre de directorio de sourceDirectoryName
en la raíz del archivo; false
para incluir solo el contenido del directorio.
Excepciones
El valor de sourceDirectoryName
es Empty, contiene solo espacios en blanco o contiene al menos un carácter no válido.
o bien
La destination
secuencia no admite la escritura.
sourceDirectoryName
o destination
es null
.
En sourceDirectoryName
la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El valor de sourceDirectoryName
no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
Un archivo en el directorio especificado no se pudo abrir.
o bien
Se ha producido un error de E/S al abrir un archivo que se va a archivar.
sourceDirectoryName
contiene un formato no válido.
compressionLevel
no es un valor CompressionLevel válido.
Comentarios
La estructura de directorios del sistema de archivos se conserva en el archivo. Si el directorio está vacío, se crea un archivo vacío. Use esta sobrecarga de método para especificar el nivel de compresión y si se debe incluir el directorio base en el archivo. Si no se puede agregar un archivo en el directorio al archivo, el archivo se deja incompleto y no es válido y el método produce una IOException excepción.
Se aplica a
CreateFromDirectory(String, String, CompressionLevel, Boolean)
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
Crea un archivo zip que contiene los archivos y directorios del directorio especificado, utiliza el nivel de compresión especificado y, opcionalmente, incluye el directorio base.
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)
Parámetros
- sourceDirectoryName
- String
La ruta de acceso al directorio que se va a almacenar, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- destinationArchiveFileName
- String
La ruta de acceso del archivo que se creará, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- compressionLevel
- CompressionLevel
Uno de los valores de enumeración que indica si se va a hacer hincapié en la eficacia de velocidad o de compresión al crear la entrada.
- includeBaseDirectory
- Boolean
true
para incluir el nombre de directorio de sourceDirectoryName
en la raíz del archivo; false
para incluir solo el contenido del directorio.
Excepciones
sourceDirectoryName
o destinationArchiveFileName
es Empty, contiene solo espacios en blanco o contiene al menos un carácter no válido.
sourceDirectoryName
o destinationArchiveFileName
es null
.
En sourceDirectoryName
o destinationArchiveFileName
, la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El valor de sourceDirectoryName
no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
destinationArchiveFileName
ya existe.
o bien
Un archivo en el directorio especificado no se pudo abrir.
o bien
Se ha producido un error de E/S al abrir un archivo que se va a archivar.
destinationArchiveFileName
especifica un directorio.
o bien
El llamador no tiene el permiso necesario para tener acceso al directorio especificado en sourceDirectoryName
o al archivo especificado en destinationArchiveFileName
.
sourceDirectoryName
o destinationArchiveFileName
contiene un formato no válido.
o bien
El archivo zip no admite escritura.
Ejemplos
En este ejemplo se muestra cómo crear y extraer un archivo ZIP mediante la ZipFile clase . Comprime el contenido de una carpeta en un archivo ZIP y, a continuación, extrae ese contenido en una nueva carpeta. Al comprimir el archivo, se incluye el directorio base y el nivel de compresión se establece para resaltar la velocidad de la operación sobre la eficacia. Para usar la clase ZipFile, debe hacer referencia al ensamblado System.IO.Compression.FileSystem
del proyecto.
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
Comentarios
La estructura de directorios del sistema de archivos se conserva en el archivo. Si el directorio está vacío, se crea un archivo vacío. Use esta sobrecarga de método para especificar el nivel de compresión y si se debe incluir el directorio base en el archivo.
Si el archivo ya existe, se produce una IOException excepción. Si ya existe una entrada con el nombre especificado en el archivo, se crea una segunda entrada con un nombre idéntico.
Si no se puede agregar un archivo en el directorio al archivo, el archivo se deja incompleto y no es válido y el método produce una IOException excepción.
Se aplica a
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
Crea un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, usa el nivel de compresión y la codificación de caracteres especificados para los nombres de entrada y, opcionalmente, incluye el directorio base.
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)
Parámetros
- sourceDirectoryName
- String
La ruta de acceso al directorio que se va a almacenar, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- destination
- Stream
Secuencia donde se va a almacenar el archivo ZIP.
- compressionLevel
- CompressionLevel
Uno de los valores de enumeración que indica si se va a hacer hincapié en la eficacia de velocidad o de compresión al crear la entrada.
- includeBaseDirectory
- Boolean
true
para incluir el nombre de directorio de sourceDirectoryName
en la raíz del archivo; false
para incluir solo el contenido del directorio.
- entryNameEncoding
- Encoding
Codificación que se va a usar al leer o escribir nombres de entrada en este archivo. Especifique un valor para este parámetro únicamente cuando se necesite una codificación para la interoperabilidad con herramientas y bibliotecas de archivos zip que no admiten la codificación UTF-8 para los nombres de entrada.
Excepciones
El valor de sourceDirectoryName
es Empty, contiene solo espacios en blanco o contiene al menos un carácter no válido.
o bien
La destination
secuencia no admite la escritura.
sourceDirectoryName
o destination
es null
.
En sourceDirectoryName
la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El valor de sourceDirectoryName
no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
Un archivo en el directorio especificado no se pudo abrir.
o bien
Se ha producido un error de E/S al abrir un archivo que se va a archivar.
sourceDirectoryName
contiene un formato no válido.
compressionLevel
no es un valor CompressionLevel válido.
Comentarios
La estructura de directorios del sistema de archivos se conserva en el archivo. Si el directorio está vacío, se crea un archivo vacío. Use esta sobrecarga de método para especificar el nivel de compresión y la codificación de caracteres y si se debe incluir el directorio base en el archivo. Si no se puede agregar un archivo en el directorio al archivo, el archivo se deja incompleto y no es válido y el método produce una IOException excepción.
Se aplica a
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
- Source:
- ZipFile.Create.cs
Crea un archivo zip que contiene los archivos y directorios del directorio especificado, utiliza el nivel de compresión y la codificación de caracteres especificados para los nombres de entrada y, opcionalmente, incluye el directorio base.
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)
Parámetros
- sourceDirectoryName
- String
La ruta de acceso al directorio que se va a almacenar, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- destinationArchiveFileName
- String
La ruta de acceso del archivo que se creará, especificada como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.
- compressionLevel
- CompressionLevel
Uno de los valores de enumeración que indica si se va a hacer hincapié en la eficacia de velocidad o de compresión al crear la entrada.
- includeBaseDirectory
- Boolean
true
para incluir el nombre de directorio de sourceDirectoryName
en la raíz del archivo; false
para incluir solo el contenido del directorio.
- entryNameEncoding
- Encoding
Codificación que se va a usar al leer o escribir nombres de entrada en este archivo. Especifique un valor para este parámetro únicamente cuando se necesite una codificación para la interoperabilidad con herramientas y bibliotecas de archivos zip que no admiten la codificación UTF-8 para los nombres de entrada.
Excepciones
sourceDirectoryName
o destinationArchiveFileName
es Empty, contiene solo espacios en blanco o contiene al menos un carácter no válido.
o bien
entryNameEncoding
se establece en una codificación Unicode distinta de UTF-8.
sourceDirectoryName
o destinationArchiveFileName
es null
.
En sourceDirectoryName
o destinationArchiveFileName
, la ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El valor de sourceDirectoryName
no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
destinationArchiveFileName
ya existe.
o bien
Un archivo en el directorio especificado no se pudo abrir.
o bien
Se ha producido un error de E/S al abrir un archivo que se va a archivar.
destinationArchiveFileName
especifica un directorio.
o bien
El llamador no tiene el permiso necesario para tener acceso al directorio especificado en sourceDirectoryName
o al archivo especificado en destinationArchiveFileName
.
sourceDirectoryName
o destinationArchiveFileName
contiene un formato no válido.
o bien
El archivo zip no admite escritura.
Comentarios
La estructura de directorios del sistema de archivos se conserva en el archivo. Si el directorio está vacío, se crea un archivo vacío. Use esta sobrecarga de método para especificar el nivel de compresión y la codificación de caracteres y si se debe incluir el directorio base en el archivo.
Si el archivo ya existe, se produce una IOException excepción. Si ya existe una entrada con el nombre especificado en el archivo, se crea una segunda entrada con un nombre idéntico.
Si no se puede agregar un archivo en el directorio al archivo, el archivo se deja incompleto y no es válido y el método produce una IOException excepción.
Si entryNameEncoding
se establece en un valor distinto null
de , los nombres de entrada se codifican mediante la codificación especificada. Si la codificación especificada es UTF-8, la marca de codificación de idioma (en la marca de bits de uso general del encabezado de archivo local) se establece para cada entrada,
Si entryNameEncoding
se establece null
en , los nombres de entrada se codifican según las reglas siguientes:
En el caso de los nombres de entrada que contienen caracteres fuera del intervalo ASCII, se establece la marca de codificación de idioma y se usa UTF-8 para codificar el nombre de entrada.
En el caso de los nombres de entrada que contienen solo caracteres ASCII, se establece la marca de codificación de idioma y se usa la página de códigos predeterminada del sistema actual para codificar los nombres de entrada.