WARNING: Most of this content (with the exception of the Mozilla 1.9 XPCOM reference) is very old, and can be expected to be out of date and possibly obsolete. For better XUL documentation, please visit the XUL hub at the Mozilla Developer Center.

nsIZipReader

IID:5cce7f53-23b3-47f8-be05-122c0ba703fd
Inherits From:nsISupports

This interface is implemented by the following components:


Properties

readonly nsIFile file

The file that represents the zip with which this zip reader was initialized.


Methods

void close ( ) void extract ( char* zipEntry , nsIFile outFile ) nsIUTF8StringEnumerator findEntries ( char* pattern ) nsIZipEntry getEntry ( char* zipEntry ) nsIInputStream getInputStream ( char* zipEntry ) nsIInputStream getInputStreamWithSpec ( AUTF8String jarSpec , char* zipEntry ) PRBool hasEntry ( AUTF8String zipEntry ) void open ( nsIFile zipFile ) void test ( char* entryName )

void close ( )

Closes a zip reader. Subsequent attempts to extract files or read from its input stream will result in an error.


void extract ( char* zipEntry , nsIFile outFile )

Extracts a zip entry into a local file specified by outFile. The entry must be stored in the zip in either uncompressed or DEFLATE-compressed format for the extraction to be successful. If the entry is a directory, the directory will be extracted non-recursively.

Arguments:
zipEntry
outFile

nsIUTF8StringEnumerator findEntries ( char* pattern )

Returns a string enumerator containing the matching entry names.

O * matches anything o ? matches one character o $ matches the end of the string o [abc] matches one occurrence of a, b, or c. The only character that must be escaped inside the brackets is ]. ^ and - must never appear in the first and second positions within the brackets, respectively. (In the former case, the behavior specified for '[^az]' will happen.) o [a-z] matches any character between a and z. The characters a and z must either both be letters or both be numbers, with the character represented by 'a' having a lower ASCII value than the character represented by 'z'. o [^az] matches any character except a or z. If ] is to appear inside the brackets as a character to not match, it must be escaped. o pat~pat2 returns matches to the pattern 'pat' which do not also match the pattern 'pat2'. This may be used to perform filtering upon the results of one pattern to remove all matches which also match another pattern. For example, because '*' matches any string and '*z*' matches any string containing a 'z', '*~*z*' will match all strings except those containing a 'z'. Note that a pattern may not use '~' multiple times, so a string such as '*~*z*~*y*' is not a valid pattern. o (foobar) will match either the pattern foo or the pattern bar. Neither of the patterns foo or bar may use the 'pat~pat2' syntax described immediately above. o \ will escape a special character. Escaping is required for all special characters unless otherwise specified. o All other characters match case-sensitively.

An pattern not conforming to this syntax has undefined behavior.

Arguments:
pattern: A regular expression used to find matching entries in the zip file. Set this parameter to null to get all entries; otherwise, use the following syntax:

nsIZipEntry getEntry ( char* zipEntry )

Returns a nsIZipEntry describing a specified zip entry.

Arguments:
zipEntry

nsIInputStream getInputStream ( char* zipEntry )

Returns an input stream containing the contents of the specified zip entry.

Arguments:
zipEntry: the name of the entry to open the stream from

nsIInputStream getInputStreamWithSpec ( AUTF8String jarSpec , char* zipEntry )

Returns an input stream containing the contents of the specified zip entry. If the entry refers to a directory (ends with '/'), a directory stream is opened, otherwise the contents of the file entry is returned.

Arguments:
jarSpec: the Spec of the URI for the JAR (only used for directory streams)
zipEntry: the name of the entry to open the stream from

PRBool hasEntry ( AUTF8String zipEntry )

Checks whether the zipfile contains an entry specified by entryName.

Arguments:
zipEntry

void open ( nsIFile zipFile )

Opens a zip file for reading. It is allowed to open with another file, but it needs to be closed first with close().

Arguments:
zipFile

void test ( char* entryName )

Tests the integrity of the archive by performing a CRC check on each item expanded into memory. If an entry is specified the integrity of only that item is tested. If NULL is passed in the integrity of all items in the archive are tested.

Arguments:
entryName

References

This interface is returned from the following methods:

nsIZipReaderCache.getZip

Reference documentation is generated from Mozilla's source.