Skip to content

dumbledore/AlbiteZIP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Using the API

Reading ZIP Files

void readZIP() throws IOException {

    /*
     * Obtain a file for random reading
     */
    RandomReadingFile rrf =
            new RandomReadingFile("file:///root1/test.zip");

    try {
        /*
         * Load the ZIP file
         */
        ZipFile zipfile = new ZipFile(rrf);

        try {
            /*
             * Get an enumeration of all the entries in the ZIP archive
             */
            Enumeration e = zipfile.entries();

            /*
             * Iterate over the entries and write their name,
             * size, compressed size and CRC
             */
            while (e.hasMoreElements()) {
                ZipEntry ze = (ZipEntry) e.nextElement();
                System.out.println(
                        ze.getName() + ": " +
                        ze.getSize() + " -> " +
                        ze.getCompressedSize() + ", CRC: " +
                        ze.getCrc()
                        );
            }

            /*
             * Get an entry from the ZIP
             */
            ZipEntry ze = zipfile.getEntry("some_compressed_file.txt");

            /*
             * Get an input stream of the file contents
             */
            DataInputStream din = zipfile.getInputStream(ze);
            try {
                /*
                 * Read file's contents to a byte[] array
                 */
                byte[] contents = new byte[ze.getSize()];
                din.readFully();
            } finally {
                din.close();
            }
        } finally {
            zipfile.close();
        }
    } finally {
        rrf.close();
    }
}

Writing ZIP Files

void writeZIP() throws IOException {

    /*
     * Open  / Create output zip file
     */
    FileConnection fout =
            (FileConnection) Connector.open("file:///root1/output.zip");

    try {
        if (!fout.exists()) {
            fout.create();
        }

        /*
         * Obtain ouput stream for writing
         */
        ZipOutputStream zos = new ZipOutputStream(fout.openOutputStream());

        try {
            /*
             * Create an entry (a file/directory header in the ZIP archive)
             */
            ZipEntry ze = new ZipEntry("file_to_be_zipped.txt");

            /*
             * Put the entry in the zip stream
             */
            zos.putNextEntry(ze);

            /*
             * Lets have some sample byte for output
             */
            byte[] buf = "This is a sample string.".getBytes();

            /*
             * Write the data to the output
             */
            zos.write(buf);

            /*
             * Close resources
             */
            zos.closeEntry();
        } finally {
            zos.close();
        }
    } finally {
        fout.close();
    }
}

About

Implementation of java.util.zip in Java Mobile using FileConnection through the AlbiteRandomReadingFile API and the sources from GNU's Classpath

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages