I try to compress an array of bytes using java.util.zip.GZIPOutputStream. The important thing is that it should not written into a file, but the output should be an array of bytes too.
I try that :
toConvert = 'Hello';
in = unicode2native(toConvert);
out = java.io.ByteArrayOutputStream;
gzipOutStream = java.util.zip.GZIPOutputStream(out);
gzipOutStream.write(in);
gzipOutStream.flush();
output = out.toByteArray();
gzipOutStream.close();
but it seems that the method .write for the object gzipOutStrem don't work.
in gzip.m of matlab they use :
streamCopier = ... com.mathworks.mlwidgets.io.InterruptibleStreamCopier.getInterruptibleStreamCopier;
in order to write into the GZIPOutputStream, but it seems to work only with files.
My goal is to have something like a box which compress into gzip/deflate format an array of bytes, and outputs the compressed array of bytes.
Thanks for your help
David
Have you looked at java.io.ByteArray[Input|Output]Stream?
Not yet, thanks for the idea !
David
I'm curious if you got this to work. There were a couple files on the file exchange here that seem to do what you are trying:
http://www.mathworks.com/matlabcentral/fileexchange/8899
I tried running these, and the compression script worked fine (dzip.m), however the deflate script (dunzip.m) was throwing java exceptions (see me comments in the file exchange). I was running these in R2008b. Have you tried these files?
Thanks!
Jesse
"David " <ddie...@gmail.com> wrote in message <gq0t4t$9i7$1...@fred.mathworks.com>...