ZipFile.CreateFromDirectoryAsync 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í.
Sobrecargas
| Nombre | Description |
|---|---|
| CreateFromDirectoryAsync(String, Stream, CancellationToken) |
Crea de forma asincrónica un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado. |
| CreateFromDirectoryAsync(String, String, CancellationToken) |
Crea de forma asincrónica un archivo ZIP en la ruta de acceso |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken) |
Crea de forma asincrónica un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, mediante el nivel de compresión especificado y, opcionalmente, incluye el directorio base. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
Crea de forma asincrónica un archivo ZIP en la ruta de acceso |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken) |
Crea de forma asincrónica un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, mediante el nivel de compresión y la codificación de caracteres especificados para los nombres de entrada y, opcionalmente, incluir el directorio base. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
Crea de forma asincrónica un archivo ZIP en la ruta de acceso |
CreateFromDirectoryAsync(String, Stream, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
Crea de forma asincrónica un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, Optional cancellationToken As CancellationToken = Nothing) As Task
Parámetros
- sourceDirectoryName
- String
Ruta de acceso al directorio que se va a archivar, especificada como ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.
- destination
- Stream
Secuencia donde se va a almacenar el archivo ZIP.
- cancellationToken
- CancellationToken
Token de cancelación que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Excepciones
sourceDirectoryName es Empty, contiene solo espacio 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.
sourceDirectoryName no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
No se pudo abrir un archivo en el directorio especificado.
-o bien-
Error de E/S al abrir un archivo que se va a archivar.
sourceDirectoryName contiene un formato no válido.
Se cancela una operación asincrónica.
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 del 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
CreateFromDirectoryAsync(String, String, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
Crea de forma asincrónica un archivo ZIP en la ruta de acceso destinationArchiveFileName que contiene los archivos y directorios del directorio especificado por sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parámetros
- sourceDirectoryName
- String
Ruta de acceso al directorio del sistema de archivos que se va a archivar.
- destinationArchiveFileName
- String
Nombre del archivo que se va a crear.
- cancellationToken
- CancellationToken
Token de cancelación que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Excepciones
sourceDirectoryName o destinationArchiveFileName es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.
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.
Por ejemplo, en plataformas basadas en Windows, las rutas de acceso deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
La ruta de acceso especificada en sourceDirectoryName o destinationArchiveFileName no es válida (por ejemplo, se encuentra en una unidad no asignada).
-o bien-
El directorio especificado por sourceDirectoryName no existe.
destinationArchiveFileName ya existe.
-o bien-
Error de E/S al abrir un archivo que se va a archivar.
destinationArchiveFileName especificó un directorio.
-o bien-
El autor de la llamada no tiene el permiso necesario.
sourceDirectoryName o destinationArchiveFileName tiene un formato no válido.
Se cancela una operación asincrónica.
Comentarios
La estructura de directorios se conserva en el archivo y se realiza una búsqueda recursiva para que los archivos se archiven. El archivo no debe existir. Si el directorio está vacío, se crea un archivo vacío. Si no se puede agregar un archivo en el directorio al archivo, el archivo dejará incompleto y no válido y el método producirá una excepción. Este método no incluye el directorio base en el archivo.
Si se produce un error al agregar archivos al archivo, este método deja de agregar archivos y deja el archivo en un estado no válido. Las rutas de acceso pueden especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Si un archivo del archivo tiene datos en el campo de hora de última escritura que no es una marca de tiempo zip válida, se usará un valor de indicador del 1980 de enero de 1980 a medianoche para la hora de la última modificación del archivo. Si ya existe una entrada con el nombre especificado en el archivo, se crea una segunda entrada que tiene un nombre idéntico. Dado que no se especifica , CompressionLevel se usa el valor predeterminado proporcionado por la implementación del algoritmo de compresión subyacente; el ZipArchive no impone su propio valor predeterminado.
(Actualmente, la DeflateStream clase proporciona el algoritmo de compresión subyacente).
Se aplica a
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
Crea de forma asincrónica un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, mediante el nivel de compresión especificado y, opcionalmente, incluye el directorio base.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parámetros
- sourceDirectoryName
- String
Ruta de acceso al directorio que se va a archivar, especificada como ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al 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 debe resaltar la velocidad o la eficacia de compresión al crear la entrada.
- includeBaseDirectory
- Boolean
true para incluir el nombre del directorio desde sourceDirectoryName en la raíz del archivo; false para incluir solo el contenido del directorio.
- cancellationToken
- CancellationToken
Token que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Excepciones
sourceDirectoryName es Empty, contiene solo espacio 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.
sourceDirectoryName no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
No se pudo abrir un archivo en el directorio especificado.
-o bien-
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 válido CompressionLevel .
Se cancela una operación asincrónica.
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
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
Crea de forma asincrónica un archivo ZIP en la ruta de acceso destinationArchiveFileName que contiene los archivos y directorios del directorio especificado por sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parámetros
- sourceDirectoryName
- String
Ruta de acceso al directorio del sistema de archivos que se va a archivar.
- destinationArchiveFileName
- String
Nombre del archivo que se va a crear.
- compressionLevel
- CompressionLevel
Uno de los valores de enumeración que especifica el nivel de compresión (velocidad/memoria frente al equilibrio de tamaño comprimido).
- includeBaseDirectory
- Boolean
true para indicar que un directorio denominado sourceDirectoryName debe incluirse en la raíz del archivo.
false para indicar que los archivos y directorios de sourceDirectoryName deben incluirse directamente en el archivo.
- cancellationToken
- CancellationToken
Token de cancelación que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Excepciones
sourceDirectoryName o destinationArchiveFileName es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.
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.
Por ejemplo, en plataformas basadas en Windows, las rutas de acceso deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
La ruta de acceso especificada en sourceDirectoryName o destinationArchiveFileName no es válida (por ejemplo, se encuentra en una unidad no asignada).
-o bien-
El directorio especificado por sourceDirectoryName no existe.
destinationArchiveFileName ya existe.
-o bien-
Error de E/S al abrir un archivo que se va a archivar.
destinationArchiveFileName especificó un directorio.
-o bien-
El autor de la llamada no tiene el permiso necesario.
sourceDirectoryName o destinationArchiveFileName tiene un formato no válido.
Se cancela una operación asincrónica.
Comentarios
La estructura de directorios se conserva en el archivo y se realiza una búsqueda recursiva para que los archivos se archiven. El archivo no debe existir. Si el directorio está vacío, se creará un archivo vacío.
Si no se puede agregar un archivo en el directorio al archivo, el archivo dejará incompleto y no válido y el método producirá una excepción. Este método incluye opcionalmente el directorio base en el archivo.
Si se produce un error al agregar archivos al archivo, este método dejará de agregar archivos y dejará el archivo en un estado no válido. Las rutas de acceso pueden especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Si un archivo del archivo tiene datos en el campo de hora de última escritura que no es una marca de tiempo zip válida, se usará un valor de indicador del 1980 de enero de 1980 a medianoche para la hora de la última modificación del archivo. Si ya existe una entrada con el nombre especificado en el archivo, se creará una segunda entrada que tenga un nombre idéntico. Puesto que no se especifica , CompressionLevel se usará el valor predeterminado proporcionado por la implementación del algoritmo de compresión subyacente; el ZipArchive no impondrá su propio valor predeterminado.
(Actualmente, la DeflateStream clase proporciona el algoritmo de compresión subyacente).
Se aplica a
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
Crea de forma asincrónica un archivo ZIP en la secuencia especificada que contiene los archivos y directorios del directorio especificado, mediante el nivel de compresión y la codificación de caracteres especificados para los nombres de entrada y, opcionalmente, incluir el directorio base.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parámetros
- sourceDirectoryName
- String
Ruta de acceso al directorio que se va a archivar, especificada como ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al 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 debe resaltar la velocidad o la eficacia de compresión al crear la entrada.
- includeBaseDirectory
- Boolean
true para incluir el nombre del directorio desde 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 solo cuando se requiera una codificación para la interoperabilidad con las herramientas y bibliotecas de archivo zip que no admiten la codificación UTF-8 para nombres de entrada o comentarios.
- cancellationToken
- CancellationToken
Token de cancelación que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Excepciones
sourceDirectoryName es Empty, contiene solo espacio 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.
sourceDirectoryName no es válido o no existe (por ejemplo, se encuentra en una unidad no asignada).
No se pudo abrir un archivo en el directorio especificado.
-o bien-
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 válido CompressionLevel .
Se cancela una operación asincrónica.
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
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
Crea de forma asincrónica un archivo ZIP en la ruta de acceso destinationArchiveFileName que contiene los archivos y directorios del directorio especificado por sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parámetros
- sourceDirectoryName
- String
Ruta de acceso al directorio del sistema de archivos que se va a archivar.
- destinationArchiveFileName
- String
Nombre del archivo que se va a crear.
- compressionLevel
- CompressionLevel
Uno de los valores de enumeración que especifica el nivel de compresión (velocidad/memoria frente al equilibrio de tamaño comprimido).
- includeBaseDirectory
- Boolean
true para indicar que un directorio denominado sourceDirectoryName debe incluirse en la raíz del archivo.
false para indicar que los archivos y directorios de sourceDirectoryName deben incluirse directamente en el archivo.
- entryNameEncoding
- Encoding
Codificación que se va a usar al leer o escribir nombres de entrada y comentarios en este Archivo ZipArchive.
- cancellationToken
- CancellationToken
Token de cancelación que se va a supervisar para las solicitudes de cancelación.
Devoluciones
Excepciones
sourceDirectoryName o destinationArchiveFileName es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.
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.
Por ejemplo, en plataformas basadas en Windows, las rutas de acceso deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
La ruta de acceso especificada en sourceDirectoryName o destinationArchiveFileName no es válida (por ejemplo, se encuentra en una unidad no asignada).
-o bien-
El directorio especificado por sourceDirectoryName no existe.
destinationArchiveFileName ya existe.
-o bien-
Error de E/S al abrir un archivo que se va a archivar.
destinationArchiveFileName especificó un directorio.
-o bien-
El autor de la llamada no tiene el permiso necesario.
sourceDirectoryName o destinationArchiveFileName tiene un formato no válido.
Se cancela una operación asincrónica.
Comentarios
La estructura de directorios se conserva en el archivo y se realiza una búsqueda recursiva para que los archivos se archiven. El archivo no debe existir. Si el directorio está vacío, se creará un archivo vacío.
Si no se puede agregar un archivo en el directorio al archivo, el archivo dejará incompleto y no válido y el método producirá una excepción. Este método incluye opcionalmente el directorio base en el archivo.
Si se produce un error al agregar archivos al archivo, este método dejará de agregar archivos y dejará el archivo en un estado no válido. Las rutas de acceso pueden especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Si un archivo del archivo tiene datos en el campo de hora de última escritura que no es una marca de tiempo zip válida, se usará un valor de indicador del 1980 de enero de 1980 a medianoche para la hora de la última modificación del archivo. Si ya existe una entrada con el nombre especificado en el archivo, se creará una segunda entrada que tenga un nombre idéntico. Puesto que no se especifica , CompressionLevel se usará el valor predeterminado proporcionado por la implementación del algoritmo de compresión subyacente; el ZipArchive no impondrá su propio valor predeterminado.
(Actualmente, la DeflateStream clase proporciona el algoritmo de compresión subyacente).
No se recomienda especificar un valor para entryNameEncoding otro que null no sea .
Sin embargo, esto puede ser necesario para la interoperabilidad con las herramientas y bibliotecas de archivo zip que no admiten correctamente la codificación UTF-8 para nombres de entrada o comentarios.
- Si
entryNameEncodingno se especifica (== null):- Para los nombres de archivo o comentarios que contienen caracteres fuera del intervalo ASCII:
La marca de codificación de idioma (EFS) se establecerá en la marca de bits de uso general del encabezado de archivo local de la entrada correspondiente y se usará UTF-8 (Encoding.UTF8) para codificar el nombre de entrada y el comentario en bytes. - Para los nombres de archivo o comentarios que no contienen caracteres fuera del intervalo ASCII:
La marca de codificación de idioma (EFS) no se establecerá en la marca de bits de uso general del encabezado de archivo local de la entrada correspondiente y la página de códigos predeterminada del sistema actual (Encoding.Default) se usará para codificar los nombres de entrada y los comentarios en bytes.
- Para los nombres de archivo o comentarios que contienen caracteres fuera del intervalo ASCII:
- Si
entryNameEncodingse especifica (!= null):- El especificado
entryNameEncodingsiempre se usará para codificar los nombres de entrada y los comentarios en bytes.
La marca de codificación de idioma (EFS) en la marca de bits de uso general del encabezado de archivo local para cada entrada se establecerá si y solo si el especificadoentryNameEncodinges una codificación UTF-8.
- El especificado
Las codificaciones Unicode que no sean UTF-8 no se pueden usar para entryNameEncoding, de lo contrario, se produce una ArgumentException excepción .