Skip to content

atchariya/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

No packages published