Extracción de archivos RAR en .NET
Descripción general
La API Aspose.ZIP permite extraer archivos en sus aplicaciones sin la necesidad de otras aplicaciones de terceros. Aspose.ZIP API proporciona la clase RarArchive para trabajar con archivos RAR. La API proporciona la clase RarArchiveEntry para representar un único archivo dentro del archivo RAR.
No es posible crear archivos RAR.
Extraer una entrada
El siguiente ejemplo de código demuestra cómo extraer una entrada utilizando la instancia de RarArchive.
Pasos: Extraer una entrada de un archivo RAR mediante C#
- Abra el archivo RAR usando la instancia de RarArchive.
- Cree una nueva secuencia de archivos para la entrada extraída.
- Utilice el método Open en la primera entrada para recuperar su contenido.
- Utilice un búfer para leer los datos de la entrada y escríbalos en la secuencia del archivo de destino hasta que se transfieran todos los bytes.
1 using (RarArchive archive = new RarArchive("archive.rar"))
2 {
3 using (var destination = File.Create(dataDir + "firstEntry.txt"))
4 {
5 using (var source = archive.Entries[0].Open())
6 {
7 byte[] buffer = new byte[1024];
8 int bytesRead;
9 while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
10 destination.Write(buffer, 0, bytesRead);
11
12 }
13 }
14 }
Extraer una entrada cifrada
El siguiente ejemplo de código demuestra cómo extraer una entrada cifrada utilizando la instancia de RarArchive.
Pasos: Extraer una entrada cifrada de un archivo RAR a través de C#
- Escriba el archivo RAR cifrado utilizando un objeto FileInfo.
- Cree una secuencia de archivos para la entrada extraída.
- Utilice el método Extraer en la primera entrada y proporcione la contraseña necesaria para descifrarla.
- Escriba los datos descifrados en el archivo de destino.
1 FileInfo fi = new FileInfo("encrypted.rar");
2 using (RarArchive archive = new RarArchive(fi.OpenRead()))
3 {
4 using (var destination = File.Create(dataDir + "firstEntry.txt"))
5 {
6 archive.Entries[0].Extract(destination, "p@s$w0rd");
7 }
8 }
Extracción del directorio comprimido
El siguiente ejemplo de código demuestra cómo almacenar todos los archivos de la instancia de RarArchive.
Pasos: Extraiga todos los archivos de un Directorio comprimido (archivo RAR) a través de C#
- Abra el archivo RAR usando la instancia de RarArchive.
- Utilice el método ExtractToDirectory para extraer todos los archivos del archivo al directorio especificado.
1 using (RarArchive archive = new RarArchive("archive.rar"))
2 {
3 archive.ExtractToDirectory("extracted");
4 }