SharArchive

Inheritance: java.lang.Object

All Implemented Interfaces: java.lang.AutoCloseable

public class SharArchive implements AutoCloseable

Denna klass representerar en shar-arkivfil.

Konstruktörer

KonstruktorBeskrivning
SharArchive()Initierar en ny instans av klassen SharArchive.
SharArchive(String path)Initierar en ny instans av klassen SharArchive för dekomprimering.

Metoder

MetodBeskrivning
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&lt;com.aspose.zip.SharEntry&gt; - 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 |