Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Esta clase representa un archivo de archivo xar.
public class XarArchive : IArchive, IDisposable
Herencia
Implementa
Miembros heredados
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Constructores
XarArchive(XarCompressionSettings)
Inicializa una nueva instancia de la clase Aspose.Zip.Xar.XarArchive.
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
Parámetros
defaultCompressionSettings
XarCompressionSettings
La configuración de compresión predeterminada, aplicada a todas las entradas del archivo.
Ejemplos
El siguiente ejemplo muestra cómo comprimir un archivo.
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Inicializa una nueva instancia de la clase Aspose.Zip.Xar.XarArchive y compone la lista de entradas que se pueden extraer del archivo.
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
Parámetros
sourceStream
Stream
La fuente del archivo. Debe ser buscable.
loadOptions
XarLoadOptions
Las opciones para cargar el archivo.
Ejemplos
El siguiente ejemplo muestra cómo extraer todas las entradas a un directorio.
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Observaciones
Este constructor no descomprime ninguna entrada. Consulte el método Aspose.Zip.Xar.XarFileEntry.Open para descomprimir.
Excepciones
sourceStream
es nulo.
sourceStream
no es buscable.
sourceStream
no es un archivo xar válido.
XarArchive(string, XarLoadOptions)
Inicializa una nueva instancia de la clase Aspose.Zip.Xar.XarArchive y compone la lista de entradas que se pueden extraer del archivo.
public XarArchive(string path, XarLoadOptions loadOptions = null)
Parámetros
path
string
La ruta al archivo de archivo.
loadOptions
XarLoadOptions
Las opciones para cargar el archivo.
Ejemplos
El siguiente ejemplo muestra cómo extraer todas las entradas a un directorio.
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Observaciones
Este constructor no descomprime ninguna entrada. Consulte el método Aspose.Zip.Xar.XarFileEntry.Open para descomprimir.
Excepciones
path
es nulo.
El llamador no tiene el permiso requerido para acceder.
El path
está vacío, contiene solo espacios en blanco o contiene caracteres no válidos.
El acceso al archivo path
está denegado.
La path
, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
El archivo en path
contiene dos puntos (:) en medio de la cadena.
El archivo no se encuentra.
La ruta especificada no es válida, como estar en una unidad no asignada.
El archivo ya está abierto.
El archivo en path
no es un archivo xar válido.
Propiedades
Entries
Obtiene las entradas del tipo Aspose.Zip.Xar.XarEntry que constituyen el archivo.
public IEnumerable<xarentry> Entries { get; }
Valor de la propiedad
IEnumerable<XarEntry>
Métodos
CreateEntries(string, bool, XarCompressionSettings)
Agrega al archivo todos los archivos y directorios de manera recursiva en el directorio dado.
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parámetros
sourceDirectory
string
Directorio a comprimir.
includeRootDirectory
bool
Indica si se debe incluir el directorio raíz o no.
compressionSettings
XarCompressionSettings
La configuración de compresión utilizada para los elementos Aspose.Zip.Xar.XarEntry añadidos.
Retorna
Instancia de entrada Xar.
Ejemplos
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
Excepciones
sourceDirectory
es nulo.
El llamador no tiene el permiso requerido para acceder a sourceDirectory
.
sourceDirectory
contiene caracteres no válidos como “, <, > o |.
La path
, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres. La path
, el nombre del archivo o ambos son demasiado largos.
sourceDirectory
representa un archivo, no un directorio.
CreateEntries(DirectoryInfo, bool, XarCompressionSettings)
Agrega al archivo todos los archivos y directorios de manera recursiva en el directorio dado.
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parámetros
directory
DirectoryInfo
Directorio a comprimir.
includeRootDirectory
bool
Indica si se debe incluir el directorio raíz o no.
compressionSettings
XarCompressionSettings
La configuración de compresión utilizada para los elementos Aspose.Zip.Xar.XarEntry añadidos.
Retorna
Instancia de entrada Xar.
Ejemplos
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
Excepciones
directory
es nulo.
El llamador no tiene el permiso requerido para acceder a directory
.
directory
representa un archivo, no un directorio.
CreateEntry(string, FileInfo, bool, XarCompressionSettings)
Crea una única entrada dentro del archivo.
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parámetros
name
string
El nombre de la entrada.
fileInfo
FileInfo
Los metadatos del archivo o carpeta a comprimir.
openImmediately
bool
Verdadero si se abre el archivo inmediatamente, de lo contrario se abre el archivo al guardar el archivo.
compressionSettings
XarCompressionSettings
La configuración de compresión utilizada para el elemento Aspose.Zip.Xar.XarEntry añadido.
Retorna
Instancia de entrada Xar.
Ejemplos
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
Observaciones
Si el archivo se abre inmediatamente con el parámetro openImmediately
, quedará bloqueado hasta que se elimine el archivo.
Excepciones
name
es nulo.
name
está vacío.
fileInfo
es nulo.
CreateEntry(string, string, bool, XarCompressionSettings)
Crea una única entrada dentro del archivo.
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parámetros
name
string
El nombre de la entrada.
sourcePath
string
Ruta al archivo que se va a comprimir.
openImmediately
bool
Verdadero si se abre el archivo inmediatamente, de lo contrario se abre el archivo al guardar el archivo.
compressionSettings
XarCompressionSettings
La configuración de compresión utilizada para el elemento Aspose.Zip.Xar.XarEntry añadido.
Retorna
Instancia de entrada Xar.
Ejemplos
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
Observaciones
El nombre de la entrada se establece únicamente dentro del parámetro name
. El nombre del archivo proporcionado en el parámetro sourcePath
no afecta el nombre de la entrada.
Si el archivo se abre inmediatamente con el parámetro openImmediately
, quedará bloqueado hasta que se elimine el archivo.
Excepciones
sourcePath
es nulo.
El llamador no tiene el permiso requerido para acceder.
El sourcePath
está vacío, contiene solo espacios en blanco o contiene caracteres no válidos. - o - El nombre del archivo, como parte del name
, excede los 100 símbolos.
El acceso al archivo sourcePath
está denegado.
La sourcePath
, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres. - o - name
es demasiado largo para xar.
El archivo en sourcePath
contiene dos puntos (:) en medio de la cadena.
Imposible modificar el archivo xar.
CreateEntry(string, Stream, XarCompressionSettings)
Crea una única entrada dentro del archivo.
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
Parámetros
name
string
El nombre de la entrada.
source
Stream
El flujo de entrada para la entrada.
compressionSettings
XarCompressionSettings
La configuración de compresión utilizada para el elemento Aspose.Zip.Xar.XarEntry añadido.
Retorna
Instancia de entrada Xar.
Ejemplos
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Excepciones
name
es nulo.
source
es nulo.
name
está vacío.
Imposible modificar el archivo xar.
DeleteEntry(XarEntry)
Elimina la primera ocurrencia de una entrada específica de la lista de entradas.
public XarArchive DeleteEntry(XarEntry entry)
Parámetros
entry
XarEntry
La entrada que se va a eliminar de la lista de entradas.
Retorna
Instancia de entrada Xar.
Ejemplos
Aquí se muestra cómo puedes eliminar todas las entradas excepto la última:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Excepciones
entry
es nulo.
Dispose()
Realiza tareas definidas por la aplicación asociadas con la liberación, liberación o restablecimiento de recursos no administrados.
public void Dispose()
Dispose(bool)
Realiza tareas definidas por la aplicación asociadas con la liberación, liberación o restablecimiento de recursos no administrados.
protected virtual void Dispose(bool disposing)
Parámetros
disposing
bool
Si se deben liberar los recursos administrados.
ExtractToDirectory(string)
Extrae todos los archivos en el archivo al directorio proporcionado.
public void ExtractToDirectory(string destinationDirectory)
Parámetros
destinationDirectory
string
La ruta al directorio donde se colocarán los archivos extraídos.
Ejemplos
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Observaciones
Si el directorio no existe, se creará.
Excepciones
path es nulo
La path
, el nombre del archivo o ambos exceden la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
El llamador no tiene el permiso requerido para acceder al directorio existente.
Si el directorio no existe, la ruta contiene un carácter de dos puntos (:) que no es parte de una etiqueta de unidad (“C:").
path es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o más caracteres no válidos. Puede consultar los caracteres no válidos utilizando el método System.IO.Path.GetInvalidPathChars. -o- path está precedida por, o contiene, solo un carácter de dos puntos (:).
El directorio especificado por path es un archivo. -o- El nombre de la red no es conocido.
El archivo está dañado.
Save(string, XarSaveOptions)
Guarda el archivo en el destino proporcionado.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
Parámetros
destinationFileName
string
La ruta del archivo que se va a crear. Si el nombre de archivo especificado apunta a un archivo existente, se sobrescribirá.
saveOptions
XarSaveOptions
Opciones para guardar el archivo xar.
Excepciones
destinationFileName
es nulo.
Imposible modificar el archivo xar.
Save(Stream, XarSaveOptions)
Guarda el archivo en el flujo proporcionado.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Parámetros
output
Stream
Flujo de destino.
saveOptions
XarSaveOptions
Opciones para guardar el archivo xar.
Excepciones
output
es nulo.
output
no es escribible/leíble o no es buscable.
Imposible modificar el archivo xar.