Decodes a ZIP file from a stream. More...
Classes | |
| class | Builder |
| Used to create a new zip file. More... | |
| struct | ZipEntry |
| Contains information about one of the entries in a ZipFile. More... | |
Public Member Functions | |
| ZipFile (const File &file) | |
| Creates a ZipFile based for a file. | |
| ZipFile (InputStream *inputStream, bool deleteStreamWhenDestroyed) | |
| Creates a ZipFile for a given stream. | |
| ZipFile (InputStream &inputStream) | |
| Creates a ZipFile for a given stream. | |
| ZipFile (InputSource *inputSource) | |
| Creates a ZipFile for an input source. | |
| ~ZipFile () | |
| Destructor. | |
| int | getNumEntries () const noexcept |
| Returns the number of items in the zip file. | |
| const ZipEntry * | getEntry (int index) const noexcept |
| Returns a structure that describes one of the entries in the zip file. | |
| int | getIndexOfFileName (const String &fileName) const noexcept |
| Returns the index of the first entry with a given filename. | |
| const ZipEntry * | getEntry (const String &fileName) const noexcept |
| Returns a structure that describes one of the entries in the zip file. | |
| void | sortEntriesByFilename () |
| Sorts the list of entries, based on the filename. | |
| InputStream * | createStreamForEntry (int index) |
| Creates a stream that can read from one of the zip file's entries. | |
| InputStream * | createStreamForEntry (ZipEntry &entry) |
| Creates a stream that can read from one of the zip file's entries. | |
| Result | uncompressTo (const File &targetDirectory, bool shouldOverwriteFiles=true) |
| Uncompresses all of the files in the zip file. | |
| Result | uncompressEntry (int index, const File &targetDirectory, bool shouldOverwriteFiles=true) |
| Uncompresses one of the entries from the zip file. | |
Decodes a ZIP file from a stream.
This can enumerate the items in a ZIP file and can create suitable stream objects to read each one.
| ZipFile::ZipFile | ( | const File & | file | ) | [explicit] |
Creates a ZipFile based for a file.
| ZipFile::ZipFile | ( | InputStream * | inputStream, |
| bool | deleteStreamWhenDestroyed | ||
| ) |
| ZipFile::ZipFile | ( | InputStream & | inputStream | ) | [explicit] |
| ZipFile::ZipFile | ( | InputSource * | inputSource | ) | [explicit] |
Creates a ZipFile for an input source.
The inputSource object will be owned by the zip file, which will delete it later when not needed.
Destructor.
| int ZipFile::getNumEntries | ( | ) | const |
Returns the number of items in the zip file.
| const ZipEntry* ZipFile::getEntry | ( | int | index | ) | const |
Returns a structure that describes one of the entries in the zip file.
This may return zero if the index is out of range.
| int ZipFile::getIndexOfFileName | ( | const String & | fileName | ) | const |
Returns the index of the first entry with a given filename.
This uses a case-sensitive comparison to look for a filename in the list of entries. It might return -1 if no match is found.
| const ZipEntry* ZipFile::getEntry | ( | const String & | fileName | ) | const |
Returns a structure that describes one of the entries in the zip file.
This uses a case-sensitive comparison to look for a filename in the list of entries. It might return 0 if no match is found.
| void ZipFile::sortEntriesByFilename | ( | ) |
Sorts the list of entries, based on the filename.
| InputStream* ZipFile::createStreamForEntry | ( | int | index | ) |
Creates a stream that can read from one of the zip file's entries.
The stream that is returned must be deleted by the caller (and zero might be returned if a stream can't be opened for some reason).
The stream must not be used after the ZipFile object that created has been deleted.
| InputStream* ZipFile::createStreamForEntry | ( | ZipEntry & | entry | ) |
Creates a stream that can read from one of the zip file's entries.
The stream that is returned must be deleted by the caller (and zero might be returned if a stream can't be opened for some reason).
The stream must not be used after the ZipFile object that created has been deleted.
| Result ZipFile::uncompressTo | ( | const File & | targetDirectory, |
| bool | shouldOverwriteFiles = true |
||
| ) |
Uncompresses all of the files in the zip file.
This will expand all the entries into a target directory. The relative paths of the entries are used.
| targetDirectory | the root folder to uncompress to |
| shouldOverwriteFiles | whether to overwrite existing files with similarly-named ones |
| Result ZipFile::uncompressEntry | ( | int | index, |
| const File & | targetDirectory, | ||
| bool | shouldOverwriteFiles = true |
||
| ) |
Uncompresses one of the entries from the zip file.
This will expand the entry and write it in a target directory. The entry's path is used to determine which subfolder of the target should contain the new file.
| index | the index of the entry to uncompress - this must be a valid index between 0 and (getNumEntries() - 1). |
| targetDirectory | the root folder to uncompress into |
| shouldOverwriteFiles | whether to overwrite existing files with similarly-named ones |