SharArchive
Inheritance: java.lang.Object
All Implemented Interfaces: java.lang.AutoCloseable
public class SharArchive implements AutoCloseable
Denna klass representerar en shar-arkivfil.
Konstruktörer
| Konstruktor | Beskrivning |
|---|---|
| SharArchive() | Initierar en ny instans av klassen SharArchive. |
| SharArchive(String path) | Initierar en ny instans av klassen SharArchive för dekomprimering. |
Metoder
| Metod | Beskrivning |
|---|---|
| close() | {@inheritDoc} |
| createEntries(File directory) | Lägger till alla filer och kataloger rekursivt i den angivna katalogen i arkivet. |
| createEntries(File directory, boolean includeRootDirectory) | Lägger till alla filer och kataloger rekursivt i den angivna katalogen i arkivet. |
| createEntries(String sourceDirectory) | Lägger till alla filer och kataloger rekursivt i den angivna katalogen i arkivet. |
| createEntries(String sourceDirectory, boolean includeRootDirectory) | Lägger 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 includeRootDirectory) | Skapa en enskild post i arkivet. |
| createEntry(String name, InputStream source) | Skapa en enskild post i arkivet. |
| createEntry(String name, String sourcePath) | Skapa en enskild post i arkivet. |
| createEntry(String name, String sourcePath, boolean openImmediately) | Skapa en enskild post i arkivet. |
| deleteEntry(SharEntry entry) | Tar bort den första förekomsten av en specifik post från postlistan. |
| deleteEntry(int entryIndex) | Tar bort posten från postlistan efter index. |
| getEntries() | Hämtar poster av typen SharEntry som utgör arkivet. |
| save(OutputStream output) | Sparar arkivet till den angivna strömmen. |
| save(String destinationFileName) | Sparar arkivet till den angivna destinationsfilen. |
SharArchive()
public SharArchive()
Initierar en ny instans av klassen SharArchive.
Följande exempel visar hur man komprimerar en fil.
try (SharArchive archive = new SharArchive()) { archive.createEntry(“first.bin”, “data.bin”); archive.save(“archive.shar”); }
### SharArchive(String path) {#SharArchive-java.lang.String-}
public SharArchive(String path)
Initializes a new instance of the [SharArchive](../../com.aspose.zip/shararchive) class prepared for decompressing.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| path | java.lang.String | the path to the source of the archive |
### close() {#close--}
public void close()
### createEntries(File directory) {#createEntries-java.io.File-}
public final SharArchive createEntries(File directory)
Adds to the archive all the files and directories recursively in the directory given.
try (FileOutputStream sharFile = new FileOutputStream("archive.shar")) {
try (SharArchive archive = new SharArchive()) {
archive.createEntries(new java.io.File("C:\\folder"), false);
archive.save(sharFile);
}
} catch (IOException ex) {
}
```
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| directory | java.io.File | katalogen som ska komprimeras |
**Returns:**
[SharArchive](../../com.aspose.zip/shararchive) - Shar entry instance
### createEntries(File directory, boolean includeRootDirectory) {#createEntries-java.io.File-boolean-}
```
public final SharArchive createEntries(File directory, boolean includeRootDirectory)
```
Lägger till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.
```
try (FileOutputStream sharFile = new FileOutputStream(“archive.shar”)) { try (SharArchive archive = new SharArchive()) { archive.createEntries(new java.io.File(“C:\folder”), false); archive.save(sharFile); } } catch (IOException ex) { }
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| directory | java.io.File | the directory to compress |
| includeRootDirectory | boolean | indicates whether to include the root directory itself or not |
**Returns:**
[SharArchive](../../com.aspose.zip/shararchive) - Shar entry instance
### createEntries(String sourceDirectory) {#createEntries-java.lang.String-}
public final SharArchive createEntries(String sourceDirectory)
Adds to the archive all the files and directories recursively in the directory given.
try (FileOutputStream sharFile = new FileOutputStream("archive.shar")) {
try (SharArchive archive = new SharArchive()) {
archive.createEntries("C:\\folder", false);
archive.save(sharFile);
}
} catch (IOException ex) {
}
```
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| sourceDirectory | java.lang.String | katalogen som ska komprimeras |
**Returns:**
[SharArchive](../../com.aspose.zip/shararchive) - Shar entry instance
### createEntries(String sourceDirectory, boolean includeRootDirectory) {#createEntries-java.lang.String-boolean-}
```
public final SharArchive createEntries(String sourceDirectory, boolean includeRootDirectory)
```
Lägger till alla filer och kataloger rekursivt i den angivna katalogen i arkivet.
```
try (FileOutputStream sharFile = new FileOutputStream(“archive.shar”)) { try (SharArchive archive = new SharArchive()) { archive.createEntries(“C:\folder”, false); archive.save(sharFile); } } catch (IOException ex) { }
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| sourceDirectory | java.lang.String | the directory to compress |
| includeRootDirectory | boolean | indicates whether to include the root directory itself or not |
**Returns:**
[SharArchive](../../com.aspose.zip/shararchive) - Shar entry instance
### createEntry(String name, File file) {#createEntry-java.lang.String-java.io.File-}
public final SharEntry createEntry(String name, File file)
Creates a single entry within the archive.
java.io.File file = new java.io.File("data.bin");
try (SharArchive archive = new SharArchive()) {
archive.createEntry("test.bin", file);
archive.save("archive.shar");
}
```
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | namnet på posten |
| file | java.io.File | metadata för fil eller mapp som ska komprimeras |
**Returns:**
[SharEntry](../../com.aspose.zip/sharentry) - Shar entry instance
### createEntry(String name, File file, boolean includeRootDirectory) {#createEntry-java.lang.String-java.io.File-boolean-}
```
public final SharEntry createEntry(String name, File file, boolean includeRootDirectory)
```
Skapa en enskild post i arkivet.
```
java.io.File file = new java.io.File(“data.bin”); try (SharArchive archive = new SharArchive()) { archive.createEntry("test.bin", file); archive.save(“archive.shar”); }
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | the name of the entry |
| file | java.io.File | the metadata of file or folder to be compressed |
| includeRootDirectory | boolean | indicates whether to include the root directory itself or not |
**Returns:**
[SharEntry](../../com.aspose.zip/sharentry) - Shar entry instance
### createEntry(String name, InputStream source) {#createEntry-java.lang.String-java.io.InputStream-}
public final SharEntry createEntry(String name, InputStream source)
Create a single entry within the archive.
try (SharArchive archive = new SharArchive()) {
archive.createEntry("data.bin", new FileInputStream("data.bin"));
archive.save("archive.shar");
} catch (IOException ex) {
}
```
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | namnet på posten |
| source | java.io.InputStream | indataströmmen för posten |
**Returns:**
[SharEntry](../../com.aspose.zip/sharentry) - Shar entry instance
### createEntry(String name, String sourcePath) {#createEntry-java.lang.String-java.lang.String-}
```
public final SharEntry createEntry(String name, String sourcePath)
```
Skapa en enskild post i arkivet.
```
try (SharArchive archive = new SharArchive()) { archive.createEntry(“first.bin”, “data.bin”); archive.save(“archive.shar”); }
The entry name is solely set within `name` parameter. The file name provided in `sourcePath` parameter does not affect the entry name.
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| name | java.lang.String | the name of the entry |
| sourcePath | java.lang.String | the path to the file to be compressed |
**Returns:**
[SharEntry](../../com.aspose.zip/sharentry) - Shar entry instance
### createEntry(String name, String sourcePath, boolean openImmediately) {#createEntry-java.lang.String-java.lang.String-boolean-}
public final SharEntry createEntry(String name, String sourcePath, boolean openImmediately)
Create a single entry within the archive.
try (SharArchive archive = new SharArchive()) {
archive.createEntry("first.bin", "data.bin");
archive.save("archive.shar");
}
```
Postnamnet sätts enbart inom `name`-parametern. Filnamnet som anges i `sourcePath`-parametern påverkar inte postnamnet.
Om filen öppnas omedelbart med `openImmediately`-parametern blir den blockerad tills arkivet frigörs.
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| namn | java.lang.String | namnet på posten |
| sourcePath | java.lang.String | sökvägen till filen som ska komprimeras |
| openImmediately | boolean | true, om filen ska öppnas omedelbart, annars öppnas filen vid arkivsparning |
**Returns:**
[SharEntry](../../com.aspose.zip/sharentry) - Shar entry instance
### deleteEntry(SharEntry entry) {#deleteEntry-com.aspose.zip.SharEntry-}
```
public final SharArchive deleteEntry(SharEntry entry)
```
Tar bort den första förekomsten av en specifik post från postlistan.
Så här kan du ta bort alla poster förutom den sista:
```
try (SharArchive archive = new SharArchive(“archive.shar”)) { while (archive.getEntries().size() > 1) archive.deleteEntry(archive.getEntries().get(0)); archive.save(“outputSharFile.shar”); }
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| entry | [SharEntry](../../com.aspose.zip/sharentry) | the entry to remove from the entries list |
**Returns:**
[SharArchive](../../com.aspose.zip/shararchive) - Shar entry instance
### deleteEntry(int entryIndex) {#deleteEntry-int-}
public final SharArchive deleteEntry(int entryIndex)
Removes the entry from the entry list by index.
try (SharArchive archive = new SharArchive("two_files.shar")) {
archive.deleteEntry(0);
archive.save("single_file.shar");
}
```
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| entryIndex | int | det nollbaserade indexet för posten som ska tas bort |
**Returns:**
[SharArchive](../../com.aspose.zip/shararchive) - the archive with the entry deleted
### getEntries() {#getEntries--}
```
public final List<SharEntry> getEntries()
```
Hämtar poster av typen [SharEntry](../../com.aspose.zip/sharentry) som utgör arkivet.
**Returns:**
java.util.List<com.aspose.zip.SharEntry> - poster av [SharEntry](../../com.aspose.zip/sharentry) typ som utgör arkivet
### save(OutputStream output) {#save-java.io.OutputStream-}
```
public final void save(OutputStream output)
```
Sparar arkivet till den angivna strömmen.
```
try (FileOutputStream sharFile = new FileOutputStream(“archive.shar”)) { try (SharArchive archive = new SharArchive()) { archive.createEntry("entry1", "data.bin"); archive.save(sharFile); } } catch (IOException ex) { }
**Parameters:**
| Parameter | Type | Description |
| --- | --- | --- |
| output | java.io.OutputStream | the destination stream |
### save(String destinationFileName) {#save-java.lang.String-}
public final void save(String destinationFileName)
Saves archive to the destination file provided.
try (SharArchive archive = new SharArchive()) {
archive.createEntry("entry1", "data.bin");
archive.save("archive.shar");
}
```
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| | destinationFileName | java.lang.String | sökvägen för arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över. |
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 |