RarArchive

Inheritance: java.lang.Object

All Implemented Interfaces: com.aspose.zip.IArchive, java.lang.AutoCloseable

public class RarArchive implements IArchive, AutoCloseable

Denna klass representerar en RAR-arkivfil. Använd den för att extrahera RAR-arkiv.

Konstruktörer

KonstruktorBeskrivning
RarArchive(String path)Initialiserar en ny instans av klassen RarArchive och skapar en postlista som kan extraheras från arkivet.
RarArchive(String path, RarArchiveLoadOptions loadOptions)Initialiserar en ny instans av klassen RarArchive och skapar en postlista som kan extraheras från arkivet.
RarArchive(InputStream sourceStream)Initialiserar en ny instans av klassen RarArchive och skapar en postlista som kan extraheras från arkivet.
RarArchive(InputStream sourceStream, RarArchiveLoadOptions loadOptions)Initialiserar en ny instans av klassen RarArchive och skapar en postlista som kan extraheras från arkivet.

Metoder

MetodBeskrivning
close(){@inheritDoc}
extractToDirectory(String destinationDirectory)Extraherar alla filer i arkivet till den angivna katalogen.
getEntries()Hämtar poster av typen RarArchiveEntry som utgör RAR-arkivet.
getFileEntries()Hämtar poster av typen IArchiveFileEntry som utgör RAR-arkivet.
getFormat()Hämtar arkivformatet.

RarArchive(String path)

public RarArchive(String path)

Initialiserar en ny instans av klassen RarArchive och skapar en postlista som kan extraheras från arkivet.

Följande exempel extraherar ett arkiv och dekomprimerar sedan den första posten till en MemoryStream.

ByteArrayOutputStream extracted = new ByteArrayOutputStream(); try (RarArchive archive = new RarArchive(“data.rar”)) { try (InputStream decompressed = archive.getEntries().get(0).open()) { byte[] b = new byte[8192]; int bytesRead; while (0 < (bytesRead = decompressed.read(b, 0, b.length))) extracted.write(b, 0, bytesRead); } catch (IOException ex) { } }


This constructor does not decompress any entry. See [RarArchiveEntry.open()](../../com.aspose.zip/rararchiveentry\#open--) method for decompressing.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | The fully qualified or the relative path to the archive file. |

### RarArchive(String path, RarArchiveLoadOptions loadOptions) {#RarArchive-java.lang.String-com.aspose.zip.RarArchiveLoadOptions-}

public RarArchive(String path, RarArchiveLoadOptions loadOptions)



Initializes a new instance of the [RarArchive](../../com.aspose.zip/rararchive) class and composes an entry list can be extracted from the archive.

The following example extracts an archive, then decompress first entry to a `MemoryStream`.

     ByteArrayOutputStream extracted = new ByteArrayOutputStream();
     try (RarArchive archive = new RarArchive("data.rar")) {
         try (InputStream decompressed = archive.getEntries().get(0).open()) {
             byte[] b = new byte[8192];
             int bytesRead;
             while (0 < (bytesRead = decompressed.read(b, 0, b.length)))
                 extracted.write(b, 0, bytesRead);
         } catch (IOException ex) {
         }
     }
 
```

Denna konstruktor dekomprimerar inte någon post. Se metoden [RarArchiveEntry.open()](../../com.aspose.zip/rararchiveentry\#open--) för dekomprimering.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| path | java.lang.String | Den fullständiga eller relativa sökvägen till arkivfilen. |
| loadOptions | [RarArchiveLoadOptions](../../com.aspose.zip/rararchiveloadoptions) | Alternativ för att läsa in befintligt arkiv med. |

### RarArchive(InputStream sourceStream) {#RarArchive-java.io.InputStream-}
```
public RarArchive(InputStream sourceStream)
```


Initialiserar en ny instans av klassen [RarArchive](../../com.aspose.zip/rararchive) och skapar en postlista som kan extraheras från arkivet.


Följande exempel avkodar och dekomprimerar den första posten till en `MemoryStream`.

```

try (FileInputStream fs = new FileInputStream(“encrypted.rar”)) { ByteArrayOutputStream extracted = new ByteArrayOutputStream(); RarArchiveLoadOptions options = new RarArchiveLoadOptions(); options.setDecryptionPassword(“p@s$”); try (RarArchive archive = new RarArchive(fs, options)) { try (InputStream decompressed = archive.getEntries().get(0).open()) { byte[] b = new byte[8192]; int bytesRead; while (0 < (bytesRead = decompressed.read(b, 0, b.length))) extracted.write(b, 0, bytesRead); } } } catch (IOException ex) { }


This constructor does not decompress any entry. See [RarArchiveEntry.open()](../../com.aspose.zip/rararchiveentry\#open--) method for decompressing.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| sourceStream | java.io.InputStream | The source of the archive. |

### RarArchive(InputStream sourceStream, RarArchiveLoadOptions loadOptions) {#RarArchive-java.io.InputStream-com.aspose.zip.RarArchiveLoadOptions-}

public RarArchive(InputStream sourceStream, RarArchiveLoadOptions loadOptions)



Initializes a new instance of the [RarArchive](../../com.aspose.zip/rararchive) class and composes an entry list can be extracted from the archive.


The following example decipher and decompress first entry to a `MemoryStream`.

     try (FileInputStream fs = new FileInputStream("encrypted.rar")) {
         ByteArrayOutputStream extracted = new ByteArrayOutputStream();
         RarArchiveLoadOptions options = new RarArchiveLoadOptions();
         options.setDecryptionPassword("p@s$");
         try (RarArchive archive = new RarArchive(fs, options)) {
             try (InputStream decompressed = archive.getEntries().get(0).open()) {
                 byte[] b = new byte[8192];
                 int bytesRead;
                 while (0 < (bytesRead = decompressed.read(b, 0, b.length)))
                     extracted.write(b, 0, bytesRead);
             }
         }
     } catch (IOException ex) {
     }
 
```

Denna konstruktor dekomprimerar inte någon post. Se metoden [RarArchiveEntry.open()](../../com.aspose.zip/rararchiveentry\#open--) för dekomprimering.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| sourceStream | java.io.InputStream | Källan till arkivet. |
| loadOptions | [RarArchiveLoadOptions](../../com.aspose.zip/rararchiveloadoptions) | Alternativ för att läsa in befintligt arkiv med. |

### close() {#close--}
```
public void close()
```




### extractToDirectory(String destinationDirectory) {#extractToDirectory-java.lang.String-}
```
public final void extractToDirectory(String destinationDirectory)
```


Extraherar alla filer i arkivet till den angivna katalogen.

```

try (RarArchive archive = new RarArchive("archive.rar")) { archive.extractToDirectory("C:\\extracted"); }


If the directory does not exist, it will be created.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| destinationDirectory | java.lang.String | The path to the directory to place the extracted files in. |

### getEntries() {#getEntries--}

public final List getEntries()



Gets entries of [RarArchiveEntry](../../com.aspose.zip/rararchiveentry) type constituting the rar archive.

**Returns:**
java.util.List&lt;com.aspose.zip.RarArchiveEntry&gt; - entries of [RarArchiveEntry](../../com.aspose.zip/rararchiveentry) type constituting the rar archive.
### getFileEntries() {#getFileEntries--}

public final Iterable getFileEntries()



Gets entries of [IArchiveFileEntry](../../com.aspose.zip/iarchivefileentry) type constituting the rar archive.

**Returns:**
java.lang.Iterable&lt;com.aspose.zip.IArchiveFileEntry&gt; - entries of [IArchiveFileEntry](../../com.aspose.zip/iarchivefileentry) type constituting the rar archive.
### getFormat() {#getFormat--}

public final ArchiveFormat getFormat()



Gets the archive format.

**Returns:**
[ArchiveFormat](../../com.aspose.zip/archiveformat) - the archive format