Inheritance: java.lang.Object

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

public class Archive implements IArchive, AutoCloseable

Denna klass representerar en zip‑arkivfil. Använd den för att skapa, extrahera eller uppdatera zip‑arkiv.

Konstruktörer

KonstruktorBeskrivning
Archive()Initierar en ny instans av klassen Archive med valfria inställningar för dess poster.
Archive(ArchiveEntrySettings newEntrySettings)Initierar en ny instans av klassen Archive med valfria inställningar för dess poster.
Archive(InputStream sourceStream)Initierar en ny instans av klassen Archive och sammanställer en postlista som kan extraheras från arkivet.
Archive(InputStream sourceStream, ArchiveLoadOptions loadOptions)Initierar en ny instans av klassen Archive och sammanställer en postlista som kan extraheras från arkivet.
Archive(InputStream sourceStream, ArchiveLoadOptions loadOptions, ArchiveEntrySettings newEntrySettings)Initierar en ny instans av klassen Archive och sammanställer en postlista som kan extraheras från arkivet.
Archive(String path)Initierar en ny instans av klassen Archive och sammanställer en postlista som kan extraheras från arkivet.
Archive(String path, ArchiveLoadOptions loadOptions)Initierar en ny instans av klassen Archive och sammanställer en postlista som kan extraheras från arkivet.
Archive(String path, ArchiveLoadOptions loadOptions, ArchiveEntrySettings newEntrySettings)Initierar en ny instans av klassen Archive och sammanställer en postlista som kan extraheras från arkivet.
Archive(String mainSegment, String[] segmentsInOrder)Initierar en ny instans av klassen Archive från ett flervolyms‑ZIP‑arkiv och sammanställer en postlista som kan extraheras från arkivet.
Archive(String mainSegment, String[] segmentsInOrder, ArchiveLoadOptions loadOptions)Initierar en ny instans av klassen Archive från ett flervolyms‑ZIP‑arkiv och sammanställer en postlista som kan extraheras från arkivet.

Metoder

MetodBeskrivning
close(){@inheritDoc}
createEntries(File directory)Lägg till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.
createEntries(File directory, boolean includeRootDirectory)Lägg till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.
createEntries(String sourceDirectory)Lägg till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.
createEntries(String sourceDirectory, boolean includeRootDirectory)Lägg till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.
createEntry(String name, File file)Skapar en enskild post i arkivet.
createEntry(String name, File file, boolean openImmediately)Skapar en enskild post i arkivet.
createEntry(String name, File file, boolean openImmediately, ArchiveEntrySettings newEntrySettings)Skapar en enskild post i arkivet.
createEntry(String name, InputStream source)Skapar en enskild post i arkivet.
createEntry(String name, InputStream source, ArchiveEntrySettings newEntrySettings)Skapar en enskild post i arkivet.
createEntry(String name, InputStream source, ArchiveEntrySettings newEntrySettings, File file)Skapar en enskild post i arkivet.
createEntry(String name, String path)Skapar en enskild post i arkivet.
createEntry(String name, String path, boolean openImmediately)Skapar en enskild post i arkivet.
createEntry(String name, String path, boolean openImmediately, ArchiveEntrySettings newEntrySettings)Skapar en enskild post i arkivet.
createEntry(String name, Supplier<InputStream> streamProvider)Skapar en enskild post i arkivet.
createEntry(String name, Supplier<InputStream> streamProvider, ArchiveEntrySettings newEntrySettings)Skapar en enskild post i arkivet.
deleteEntry(ArchiveEntry entry)Tar bort den första förekomsten av den specifika posten från postlistan.
deleteEntry(int entryIndex)Tar bort posten från postlistan efter index.
extractToDirectory(String destinationDirectory)Extraherar alla filer i arkivet till den angivna katalogen.
getComment()Hämtar kommentar för hela arkivet.
getEntries()Hämtar poster av typen ArchiveEntry som utgör arkivet.
getFileEntries()Hämtar poster av typen IArchiveFileEntry som utgör arkivet.
getFormat()Hämtar arkivformatet (Zip)
getNewEntrySettings()Komprimerings‑ och krypteringsinställningar som används för nyinlagda ArchiveEntry-objekt.
save(OutputStream outputStream)Sparar arkivet till den angivna strömmen.
save(OutputStream outputStream, ArchiveSaveOptions saveOptions)Sparar arkivet till den angivna strömmen.
save(String destinationFileName)Sparar arkivet till den angivna destinationsfilen.
save(String destinationFileName, ArchiveSaveOptions saveOptions)Sparar arkivet till den angivna destinationsfilen.
saveSplit(String destinationDirectory, SplitArchiveSaveOptions options)Sparar flervolymsarkivet till den angivna destinationskatalogen.

Archive()

public Archive()

Initierar en ny instans av klassen Archive med valfria inställningar för dess poster.

Följande exempel visar hur man komprimerar en enskild fil med standardinställningar.

try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { try (Archive archive = new Archive()) { archive.createEntry(“data.bin”, “file.dat”); archive.save(zipFile); } } catch (IOException ex) { }




### Archive(ArchiveEntrySettings newEntrySettings) {#Archive-com.aspose.zip.ArchiveEntrySettings-}

public Archive(ArchiveEntrySettings newEntrySettings)



Initializes a new instance of the [Archive](../../com.aspose.zip/archive) class with optional settings for its entries.


The following example shows how to compress a single file with default settings.

     try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
         try (Archive archive = new Archive()) {
             archive.createEntry("data.bin", "file.dat");
             archive.save(zipFile);
         }
     } catch (IOException ex) {
     }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Komprimerings- och krypteringsinställningar som används för nyinlagda [ArchiveEntry](../../com.aspose.zip/archiveentry)-objekt. Om de inte anges, kommer den vanligaste Deflate-komprimeringen utan kryptering att användas. |

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


Initierar en ny instans av klassen [Archive](../../com.aspose.zip/archive) och sammanställer en postlista som kan extraheras från arkivet.

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

```

try (FileInputStream fs = new FileInputStream(“encrypted.zip”)) { ByteArrayOutputStream extracted = new ByteArrayOutputStream(); ArchiveLoadOptions options = new ArchiveLoadOptions(); options.setDecryptionPassword(“p@s$”); try (Archive archive = new Archive(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 [ArchiveEntry.open()](../../com.aspose.zip/archiveentry\#open--) method for decompressing.

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

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

public Archive(InputStream sourceStream, ArchiveLoadOptions loadOptions)



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

The following example extracts an encrypted archive, then decompresses first entry to a `ByteArrayOutputStream`.

     try (FileInputStream fs = new FileInputStream("encrypted.zip")) {
         ByteArrayOutputStream extracted = new ByteArrayOutputStream();
         ArchiveLoadOptions options = new ArchiveLoadOptions();
         options.setDecryptionPassword("p@s$");
         try (Archive archive = new Archive(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) {
     }
 
```

Den här konstruktorn dekomprimerar inte någon post. Se [ArchiveEntry.open()](../../com.aspose.zip/archiveentry\#open--) metod för dekomprimering.

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

### Archive(InputStream sourceStream, ArchiveLoadOptions loadOptions, ArchiveEntrySettings newEntrySettings) {#Archive-java.io.InputStream-com.aspose.zip.ArchiveLoadOptions-com.aspose.zip.ArchiveEntrySettings-}
```
public Archive(InputStream sourceStream, ArchiveLoadOptions loadOptions, ArchiveEntrySettings newEntrySettings)
```


Initierar en ny instans av klassen [Archive](../../com.aspose.zip/archive) och sammanställer en postlista som kan extraheras från arkivet.

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

```

try (FileInputStream fs = new FileInputStream(“encrypted.zip”)) { ByteArrayOutputStream extracted = new ByteArrayOutputStream(); ArchiveLoadOptions options = new ArchiveLoadOptions(); options.setDecryptionPassword(“p@s$”); try (Archive archive = new Archive(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 [ArchiveEntry.open()](../../com.aspose.zip/archiveentry\#open--) method for decompressing.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| sourceStream | java.io.InputStream | The source of the archive. |
| loadOptions | [ArchiveLoadOptions](../../com.aspose.zip/archiveloadoptions) | Options to load existing archive with. |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Compression and encryption settings used for newly added [ArchiveEntry](../../com.aspose.zip/archiveentry) items. If not specified, the most common Deflate compression without encryption would be used. |

### Archive(String path) {#Archive-java.lang.String-}

public Archive(String path)



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

The following example extracts an encrypted archive, then decompresses first entry to a `ByteArrayOutputStream`.

     ByteArrayOutputStream extracted = new ByteArrayOutputStream();
     ArchiveLoadOptions options = new ArchiveLoadOptions();
     options.setDecryptionPassword("p@s$");
     try (Archive archive = new Archive("encrypted.zip", 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) {
         }
     }
 
```

Den här konstruktorn dekomprimerar inte någon post. Se [ArchiveEntry.open()](../../com.aspose.zip/archiveentry\#open--) metod för dekomprimering.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| path | java.lang.String | Den fullständiga eller relativa sökvägen till arkivfilen. |

### Archive(String path, ArchiveLoadOptions loadOptions) {#Archive-java.lang.String-com.aspose.zip.ArchiveLoadOptions-}
```
public Archive(String path, ArchiveLoadOptions loadOptions)
```


Initierar en ny instans av klassen [Archive](../../com.aspose.zip/archive) och sammanställer en postlista som kan extraheras från arkivet.

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

```

ByteArrayOutputStream extracted = new ByteArrayOutputStream(); ArchiveLoadOptions options = new ArchiveLoadOptions(); options.setDecryptionPassword(“p@s$”); try (Archive archive = new Archive(“encrypted.zip”, 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 [ArchiveEntry.open()](../../com.aspose.zip/archiveentry\#open--) method for decompressing.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | The fully qualified or the relative path to the archive file. |
| loadOptions | [ArchiveLoadOptions](../../com.aspose.zip/archiveloadoptions) | Options to load existing archive with. |

### Archive(String path, ArchiveLoadOptions loadOptions, ArchiveEntrySettings newEntrySettings) {#Archive-java.lang.String-com.aspose.zip.ArchiveLoadOptions-com.aspose.zip.ArchiveEntrySettings-}

public Archive(String path, ArchiveLoadOptions loadOptions, ArchiveEntrySettings newEntrySettings)



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

The following example extracts an encrypted archive, then decompresses first entry to a `ByteArrayOutputStream`.

     ByteArrayOutputStream extracted = new ByteArrayOutputStream();
     ArchiveLoadOptions options = new ArchiveLoadOptions();
     options.setDecryptionPassword("p@s$");
     try (Archive archive = new Archive("encrypted.zip", 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) {
         }
     }
 
```

Den här konstruktorn dekomprimerar inte någon post. Se [ArchiveEntry.open()](../../com.aspose.zip/archiveentry\#open--) metod för dekomprimering.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| path | java.lang.String | Den fullständiga eller relativa sökvägen till arkivfilen. |
| loadOptions | [ArchiveLoadOptions](../../com.aspose.zip/archiveloadoptions) | Alternativ för att läsa in befintligt arkiv med. |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Komprimerings- och krypteringsinställningar som används för nyinlagda [ArchiveEntry](../../com.aspose.zip/archiveentry)-objekt. Om de inte anges, kommer den vanligaste Deflate-komprimeringen utan kryptering att användas. |

### Archive(String mainSegment, String[] segmentsInOrder) {#Archive-java.lang.String-java.lang.String---}
```
public Archive(String mainSegment, String[] segmentsInOrder)
```


Initierar en ny instans av klassen [Archive](../../com.aspose.zip/archive) från ett flervolyms‑ZIP‑arkiv och sammanställer en postlista som kan extraheras från arkivet.

```

try (Archive a = new Archive(“archive.zip”, new String[] { “archive.z01”, “archive.z02” })) { a.extractToDirectory(“destination”); }




**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| mainSegment | java.lang.String | Path to the last segment of multi-volume archive with the central directory.

Usually this segment has \*.zip extension and smaller than others. |
| segmentsInOrder | java.lang.String[] | Paths to each segment but the last of multi-volume zip archive respecting order.

Usually they named filename.z01, filename.z02, ..., filename.z(n-1). |

### Archive(String mainSegment, String[] segmentsInOrder, ArchiveLoadOptions loadOptions) {#Archive-java.lang.String-java.lang.String---com.aspose.zip.ArchiveLoadOptions-}

public Archive(String mainSegment, String[] segmentsInOrder, ArchiveLoadOptions loadOptions)



Initializes a new instance of the [Archive](../../com.aspose.zip/archive) class from multi-volume ZIP archive and composes an entry list can be extracted from the archive.

This sample extract to a directory an archive of three segments.

     try (Archive a = new Archive("archive.zip", new String[] { "archive.z01", "archive.z02" })) {
         a.extractToDirectory("destination");
     }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | mainSegment | java.lang.String | Sökväg till det sista segmentet i ett flervolymsarkiv med den centrala katalogen. |

Vanligtvis har detta segment \*.zip‑ändelse och är mindre än de andra. |
|  | segmentsInOrder | java.lang.String[] | Sökvägar till varje segment förutom det sista i ett flervolyms‑zip‑arkiv i rätt ordning. |

Vanligtvis namnges de filename.z01, filename.z02, ..., filename.z(n-1). |
| loadOptions | [ArchiveLoadOptions](../../com.aspose.zip/archiveloadoptions) | Alternativ för att läsa in befintligt arkiv med. |

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




### createEntries(File directory) {#createEntries-java.io.File-}
```
public final Archive createEntries(File directory)
```


Lägg till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.

```

try (Archive archive = new Archive()) { java.io.File folder = new java.io.File(“C:\folder”); archive.createEntries(folder); archive.save(“folder.zip”); }




**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| directory | java.io.File | Directory to compress. |

**Returns:**
[Archive](../../com.aspose.zip/archive) - The archive with entries composed.
### createEntries(File directory, boolean includeRootDirectory) {#createEntries-java.io.File-boolean-}

public final Archive createEntries(File directory, boolean includeRootDirectory)



Add to the archive all files and directories recursively in the directory given.

    try (Archive archive = new Archive()) {
        java.io.File folder = new java.io.File("C:\\folder");
        archive.createEntries(folder);
        archive.save("folder.zip");
    }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| directory | java.io.File | Katalog att komprimera. |
| includeRootDirectory | boolean | Anger om rotkatalogen ska inkluderas eller inte. |

**Returns:**
[Archive](../../com.aspose.zip/archive) - The archive with entries composed.
### createEntries(String sourceDirectory) {#createEntries-java.lang.String-}
```
public final Archive createEntries(String sourceDirectory)
```


Lägg till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.

```

try (Archive archive = new Archive()) { archive.createEntries(“C:\folder”); archive.save(“folder.zip”); }




**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| sourceDirectory | java.lang.String | Directory to compress. |

**Returns:**
[Archive](../../com.aspose.zip/archive) - The archive with entries composed.
### createEntries(String sourceDirectory, boolean includeRootDirectory) {#createEntries-java.lang.String-boolean-}

public final Archive createEntries(String sourceDirectory, boolean includeRootDirectory)



Add to the archive all files and directories recursively in the directory given.

    try (Archive archive = new Archive()) {
        archive.createEntries("C:\\folder");
        archive.save("folder.zip");
    }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| sourceDirectory | java.lang.String | Katalog att komprimera. |
| includeRootDirectory | boolean | Anger om rotkatalogen ska inkluderas eller inte. |

**Returns:**
[Archive](../../com.aspose.zip/archive) - The archive with entries composed.
### createEntry(String name, File file) {#createEntry-java.lang.String-java.io.File-}
```
public final ArchiveEntry createEntry(String name, File file)
```


Skapar en enskild post i arkivet.

Skapa ett arkiv med poster krypterade med olika krypteringsmetoder och lösenord för varje.

```

try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { java.io.File fi1 = new java.io.File(“data1.bin”); java.io.File fi2 = new java.io.File(“data2.bin”); java.io.File fi3 = new java.io.File(“data3.bin”); try (Archive archive = new Archive()) { archive.createEntry(“entry1.bin”, fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings(“pass1”))); archive.createEntry(“entry2.bin”, fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEncryptionSettings(“pass2”, EncryptionMethod.AES128))); archive.createEntry(“entry3.bin”, fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEncryptionSettings(“pass3”, EncryptionMethod.AES256))); archive.save(zipFile); } } catch (IOException ignored) { }


The entry name is solely set within `name` parameter. The file name provided in `file` parameter does not affect the entry name.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | The name of the entry. |
| file | java.io.File | The metadata of file to be compressed. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, File file, boolean openImmediately) {#createEntry-java.lang.String-java.io.File-boolean-}

public final ArchiveEntry createEntry(String name, File file, boolean openImmediately)



Creates a single entry within the archive.

Compose archive with entries encrypted with different encryption methods and passwords each.

    try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
        java.io.File fi1 = new java.io.File("data1.bin");
        java.io.File fi2 = new java.io.File("data2.bin");
        java.io.File fi3 = new java.io.File("data3.bin");
        try (Archive archive = new Archive()) {
            archive.createEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
            archive.createEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEncryptionSettings("pass2", EncryptionMethod.AES128)));
            archive.createEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEncryptionSettings("pass3", EncryptionMethod.AES256)));
            archive.save(zipFile);
        }
    } catch (IOException ignored) {
    }
 
```

Postnamnet sätts enbart i `name`-parametern. Filnamnet som anges i `file`-parametern påverkar inte postnamnet.

Om filen öppnas omedelbart med `openImmediately`-parametern blir den låst tills arkivet sparas.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | Postens namn. |
| file | java.io.File | Metadata för filen som ska komprimeras. |
| openImmediately | boolean | Sant, om filen öppnas omedelbart, annars öppnas filen vid arkivets sparande. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, File file, boolean openImmediately, ArchiveEntrySettings newEntrySettings) {#createEntry-java.lang.String-java.io.File-boolean-com.aspose.zip.ArchiveEntrySettings-}
```
public final ArchiveEntry createEntry(String name, File file, boolean openImmediately, ArchiveEntrySettings newEntrySettings)
```


Skapar en enskild post i arkivet.

Skapa ett arkiv med poster krypterade med olika krypteringsmetoder och lösenord för varje.

```

try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { java.io.File fi1 = new java.io.File(“data1.bin”); java.io.File fi2 = new java.io.File(“data2.bin”); java.io.File fi3 = new java.io.File(“data3.bin”); try (Archive archive = new Archive()) { archive.createEntry(“entry1.bin”, fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings(“pass1”))); archive.createEntry(“entry2.bin”, fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEncryptionSettings(“pass2”, EncryptionMethod.AES128))); archive.createEntry(“entry3.bin”, fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEncryptionSettings(“pass3”, EncryptionMethod.AES256))); archive.save(zipFile); } } catch (IOException ignored) { }


The entry name is solely set within `name` parameter. The file name provided in `file` parameter does not affect the entry name.

If the file is opened immediately with `openImmediately` parameter it becomes blocked until archive is saved.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | The name of the entry. |
| file | java.io.File | The metadata of file to be compressed. |
| openImmediately | boolean | True, if open the file immediately, otherwise open the file on archive saving. |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Compression and encryption settings used for added [ArchiveEntry](../../com.aspose.zip/archiveentry) item. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, InputStream source) {#createEntry-java.lang.String-java.io.InputStream-}

public final ArchiveEntry createEntry(String name, InputStream source)



Creates a single entry within the archive.

     try (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEncryptionSettings("p@s$", EncryptionMethod.AES256)))) {
         archive.createEntry("data.bin", new ByteArrayInputStream(new byte[] {
                 0x00,
                 (byte) 0xFF
         }));
         archive.save("archive.zip");
     }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | Postens namn. |
| source | java.io.InputStream | Inmatningsströmmen för posten. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, InputStream source, ArchiveEntrySettings newEntrySettings) {#createEntry-java.lang.String-java.io.InputStream-com.aspose.zip.ArchiveEntrySettings-}
```
public final ArchiveEntry createEntry(String name, InputStream source, ArchiveEntrySettings newEntrySettings)
```


Skapar en enskild post i arkivet.

```

try (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEncryptionSettings(“p@s$”, EncryptionMethod.AES256)))) { archive.createEntry(“data.bin”, new ByteArrayInputStream(new byte[] { 0x00, (byte) 0xFF }); archive.save(“archive.zip”); }




**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | The name of the entry. |
| source | java.io.InputStream | The input stream for the entry. |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Compression and encryption settings used for added [ArchiveEntry](../../com.aspose.zip/archiveentry) item. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, InputStream source, ArchiveEntrySettings newEntrySettings, File file) {#createEntry-java.lang.String-java.io.InputStream-com.aspose.zip.ArchiveEntrySettings-java.io.File-}

public final ArchiveEntry createEntry(String name, InputStream source, ArchiveEntrySettings newEntrySettings, File file)



Creates a single entry within the archive.

Compose archive with encrypted entry.

    try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
        try (Archive archive = new Archive()) {
            archive.createEntry("entry1.bin", new ByteArrayInputStream(new byte[] {
                    0x00,
                    (byte) 0xFF
            }), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new java.io.File("data1.bin"));
            archive.save(zipFile);
        }
    } catch (IOException ignored) {
    }
 
```

Postnamnet sätts enbart i `name`-parametern. Filnamnet som anges i `file`-parametern påverkar inte postnamnet.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | Postens namn. |
| source | java.io.InputStream | Inmatningsströmmen för posten. |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Komprimerings- och krypteringsinställningar som används för tillagt [ArchiveEntry](../../com.aspose.zip/archiveentry) objekt. |
| file | java.io.File | Metadata för fil eller mapp som ska komprimeras. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, String path) {#createEntry-java.lang.String-java.lang.String-}
```
public final ArchiveEntry createEntry(String name, String path)
```


Skapar en enskild post i arkivet.

```

try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { try (Archive archive = new Archive()) { archive.createEntry(“data.bin”, “file.dat”); archive.save(zipFile); } } catch (IOException ex) { }


The entry name is solely set within `name` parameter. The file name provided in `path` parameter does not affect the entry name.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | The name of the entry. |
| path | java.lang.String | The fully qualified name of the new file, or the relative file name to be compressed. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, String path, boolean openImmediately) {#createEntry-java.lang.String-java.lang.String-boolean-}

public final ArchiveEntry createEntry(String name, String path, boolean openImmediately)



Creates a single entry within the archive.

     try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
         try (Archive archive = new Archive()) {
             archive.createEntry("data.bin", "file.dat");
             archive.save(zipFile);
         }
     } catch (IOException ex) {
     }
 
```

Postnamnet sätts enbart i `name`-parametern. Filnamnet som anges i `path`-parametern påverkar inte postnamnet.

Om filen öppnas omedelbart med `openImmediately`-parametern blir den låst tills arkivet sparas.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | Postens namn. |
| path | java.lang.String | Det fullständigt kvalificerade namnet på den nya filen, eller det relativa filnamnet som ska komprimeras. |
| openImmediately | boolean | Sant, om filen öppnas omedelbart, annars öppnas filen vid arkivets sparande. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, String path, boolean openImmediately, ArchiveEntrySettings newEntrySettings) {#createEntry-java.lang.String-java.lang.String-boolean-com.aspose.zip.ArchiveEntrySettings-}
```
public final ArchiveEntry createEntry(String name, String path, boolean openImmediately, ArchiveEntrySettings newEntrySettings)
```


Skapar en enskild post i arkivet.

```

try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { try (Archive archive = new Archive()) { archive.createEntry(“data.bin”, “file.dat”); archive.save(zipFile); } } catch (IOException ex) { }


The entry name is solely set within `name` parameter. The file name provided in `path` parameter does not affect the entry name.

If the file is opened immediately with `openImmediately` parameter it becomes blocked until archive is saved.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | The name of the entry. |
| path | java.lang.String | The fully qualified name of the new file, or the relative file name to be compressed. |
| openImmediately | boolean | True, if open the file immediately, otherwise open the file on archive saving. |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | Compression and encryption settings used for added [ArchiveEntry](../../com.aspose.zip/archiveentry) item. |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - Zip entry instance.
### createEntry(String name, Supplier&lt;InputStream&gt; streamProvider) {#createEntry-java.lang.String-java.util.function.Supplier-java.io.InputStream--}

public final ArchiveEntry createEntry(String name, Supplier streamProvider)



Creates a single entry within the archive.

Compose archive with encrypted entry.

     Supplier<InputStream> provider = new Supplier<InputStream>() {
         public InputStream get() {
             return new ByteArrayInputStream(new byte[] {(byte) 0xFF, 0x00});
         }
     };
     try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
         try (Archive archive = new Archive()) {
             archive.createEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
             archive.save(zipFile);
         }
     } catch (IOException ex) {
         System.out.println(ex);
     }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | namnet på posten |
| streamProvider | java.util.function.Supplier&lt;java.io.InputStream&gt; | metoden som tillhandahåller inmatningsströmmen för posten |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - zip entry instance
### createEntry(String name, Supplier&lt;InputStream&gt; streamProvider, ArchiveEntrySettings newEntrySettings) {#createEntry-java.lang.String-java.util.function.Supplier-java.io.InputStream--com.aspose.zip.ArchiveEntrySettings-}
```
public final ArchiveEntry createEntry(String name, Supplier<InputStream> streamProvider, ArchiveEntrySettings newEntrySettings)
```


Skapar en enskild post i arkivet.

Skapa arkiv med krypterad post.

```

Supplier provider = new Supplier() { public InputStream get() { return new ByteArrayInputStream(new byte[] {(byte) 0xFF, 0x00}); } }; try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { try (Archive archive = new Archive()) { archive.createEntry(“entry1.bin”, provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings(“pass1”))); archive.save(zipFile); } } catch (IOException ex) { System.out.println(ex); }




**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | the name of the entry |
| streamProvider | java.util.function.Supplier&lt;java.io.InputStream&gt; | the method providing input stream for the entry |
| newEntrySettings | [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) | compression and encryption settings used for added [ArchiveEntry](../../com.aspose.zip/archiveentry) item |

**Returns:**
[ArchiveEntry](../../com.aspose.zip/archiveentry) - zip entry instance
### deleteEntry(ArchiveEntry entry) {#deleteEntry-com.aspose.zip.ArchiveEntry-}

public final Archive deleteEntry(ArchiveEntry entry)



Removes the first occurrence of the specific entry from the entry list.

Here is how you can remove all entries except the last one:

    try (Archive archive = new Archive("archive.zip")) {
        while (archive.getEntries().size() > 1)
            archive.deleteEntry(archive.getEntries().get(0));
        archive.save("last_entry.zip");
    }
 
```



**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| entry | [ArchiveEntry](../../com.aspose.zip/archiveentry) | Posten som ska tas bort från listan med poster. |

**Returns:**
[Archive](../../com.aspose.zip/archive) - The archive with the entry deleted.
### deleteEntry(int entryIndex) {#deleteEntry-int-}
```
public final Archive deleteEntry(int entryIndex)
```


Tar bort posten från postlistan efter index.

```

try (Archive archive = new Archive("two_files.zip")) { archive.deleteEntry(0); archive.save("single_file.zip"); }




**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| entryIndex | int | The zero-based index of the entry to remove. |

**Returns:**
[Archive](../../com.aspose.zip/archive) - The archive with the entry deleted.
### extractToDirectory(String destinationDirectory) {#extractToDirectory-java.lang.String-}

public final void extractToDirectory(String destinationDirectory)



Extracts all the files in the archive to the directory provided.

    try (Archive archive = new Archive("archive.zip")) {
        archive.extractToDirectory("C:\\extracted");
    }
 
```

Om katalogen inte finns kommer den att skapas.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| destinationDirectory | java.lang.String | Sökvägen till katalogen där de extraherade filerna ska placeras. |

### getComment() {#getComment--}
```
public final String getComment()
```


Hämtar kommentar för hela arkivet.

Om `ArchiveLoadOptions.Encoding`([ArchiveLoadOptions.getEncoding](../../com.aspose.zip/archiveloadoptions\\#getEncoding)/[ArchiveLoadOptions.setEncoding](../../com.aspose.zip/archiveloadoptions\\#setEncoding)) tillhandahålls, avkodas den med den. Annars används UTF-8.

**Returns:**
java.lang.String - kommentar för hela arkivet.
### getEntries() {#getEntries--}
```
public final List<ArchiveEntry> getEntries()
```


Hämtar poster av typen [ArchiveEntry](../../com.aspose.zip/archiveentry) som utgör arkivet.

**Returns:**
java.util.List&lt;com.aspose.zip.ArchiveEntry&gt; - poster av typen [ArchiveEntry](../../com.aspose.zip/archiveentry) som utgör arkivet.
### getFileEntries() {#getFileEntries--}
```
public final Iterable<IArchiveFileEntry> getFileEntries()
```


Hämtar poster av typen [IArchiveFileEntry](../../com.aspose.zip/iarchivefileentry) som utgör arkivet.

**Returns:**
java.lang.Iterable&lt;com.aspose.zip.IArchiveFileEntry&gt; - poster av typen [IArchiveFileEntry](../../com.aspose.zip/iarchivefileentry) som utgör arkivet.
### getFormat() {#getFormat--}
```
public final ArchiveFormat getFormat()
```


Hämtar arkivformatet (Zip)

**Returns:**
[ArchiveFormat](../../com.aspose.zip/archiveformat) - Zip archive format.
### getNewEntrySettings() {#getNewEntrySettings--}
```
public final ArchiveEntrySettings getNewEntrySettings()
```


Komprimerings‑ och krypteringsinställningar som används för nyinlagda [ArchiveEntry](../../com.aspose.zip/archiveentry)-objekt.

**Returns:**
[ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) - the [ArchiveEntrySettings](../../com.aspose.zip/archiveentrysettings) instance
### save(OutputStream outputStream) {#save-java.io.OutputStream-}
```
public final void save(OutputStream outputStream)
```


Sparar arkivet till den angivna strömmen.

```

try (FileOutputStream zipFile = new FileOutputStream(“archive.zip”)) { try (Archive archive = new Archive()) { archive.createEntry("entry.bin", "data.bin"); archive.save(zipFile); } } catch (IOException ex) { }


`outputStream` must be writable.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| outputStream | java.io.OutputStream | Destination stream. |

### save(OutputStream outputStream, ArchiveSaveOptions saveOptions) {#save-java.io.OutputStream-com.aspose.zip.ArchiveSaveOptions-}

public final void save(OutputStream outputStream, ArchiveSaveOptions saveOptions)



Saves archive to the stream provided.

    try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
        try (Archive archive = new Archive()) {
            archive.createEntry("entry.bin", "data.bin");
            archive.save(zipFile);
        }
    } catch (IOException ex) {
    }
 
```

`outputStream` måste vara skrivbar.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| outputStream | java.io.OutputStream | Destinationsström. |
| saveOptions | [ArchiveSaveOptions](../../com.aspose.zip/archivesaveoptions) | Alternativ för arkivsparning. |

### save(String destinationFileName) {#save-java.lang.String-}
```
public final void save(String destinationFileName)
```


Sparar arkivet till den angivna destinationsfilen.

```

try (Archive archive = new Archive()) { archive.createEntry("entry.bin", "data.bin"); ArchiveSaveOptions options = new ArchiveSaveOptions(); options.setEncoding(StandardCharsets.US_ASCII); archive.save("archive.zip", options); }


It is possible to save an archive to the same path as it was loaded from. However, this is not recommended because this approach uses copying to temporary file.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| destinationFileName | java.lang.String | The path of the archive to be created. If the specified file name points to an existing file, it will be overwritten. |

### save(String destinationFileName, ArchiveSaveOptions saveOptions) {#save-java.lang.String-com.aspose.zip.ArchiveSaveOptions-}

public final void save(String destinationFileName, ArchiveSaveOptions saveOptions)



Saves archive to the destination file provided.

    try (Archive archive = new Archive()) {
        archive.createEntry("entry.bin", "data.bin");
        ArchiveSaveOptions options = new ArchiveSaveOptions();
        options.setEncoding(StandardCharsets.US_ASCII);
        archive.save("archive.zip", options);
    }
 
```

Det är möjligt att spara ett arkiv till samma sökväg som det laddades från. Detta rekommenderas dock inte eftersom detta tillvägagångssätt använder kopiering till en temporär fil.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| destinationFileName | java.lang.String | Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över. |
| saveOptions | [ArchiveSaveOptions](../../com.aspose.zip/archivesaveoptions) | Alternativ för arkivsparning. |

### saveSplit(String destinationDirectory, SplitArchiveSaveOptions options) {#saveSplit-java.lang.String-com.aspose.zip.SplitArchiveSaveOptions-}
```
public final void saveSplit(String destinationDirectory, SplitArchiveSaveOptions options)
```


Sparar flervolymsarkivet till den angivna destinationskatalogen.

```

try (Archive archive = new Archive()) { archive.createEntry("entry.bin", "data.bin"); archive.saveSplit( "C:\\Folder", new SplitArchiveSaveOptions("volume", 65536)); }


This method composes several (n) files filename.z01, filename.z02, ..., filename.z(n-1), filename.zip.

Cannot make existing archive multi-volume.

**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| destinationDirectory | java.lang.String | The path to the directory where archive segments to be created. |
| options | [SplitArchiveSaveOptions](../../com.aspose.zip/splitarchivesaveoptions) | Options for archive saving, including file name. |