I've tried searching and couldn't find anything. What I'm trying to do is I'm looping through a list where I'm constructing a string from a combination of items from multiple lists. I then want to dump these strings to a gzipped file. I got it working with just dumping it to a plain ascii text file but I can't seem to get it to work with the gzipoutputstream. So basically,
Loop create string dump string to gzipped file endloop
If possible, I'd like to avoid dumping to a plain text file then gzipping it since these files will be almost 100 meg each.
Yes, you can do this no problem. You just need to use a writer to convert from your character based strings to the byte based gzip stream.
    BufferedWriter writer = null;
    try {
        GZIPOutputStream zip = new GZIPOutputStream(
            new FileOutputStream(new File("tmp.zip")));
        writer = new BufferedWriter(
            new OutputStreamWriter(zip, "UTF-8"));
        String[] data = new String[] { "this", "is", "some", 
            "data", "in", "a", "list" };
        for (String line : data) {
            writer.append(line);
            writer.newLine();
        }
    } finally {         
        if (writer != null)
            writer.close();
    }
Also, remember gzip just compresses a stream, if you want embeded files, see this post: gzip archive with multiple files inside
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With