Android examples for File Input Output:Byte Array Compress
deflate byte array
import android.util.Log; import java.io.*; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; public class Main{ private final static String TAG = IoUtil.class.getName(); /**// ww w. ja v a 2s .c om * @param content * @return * @throws java.io.IOException */ public static byte[] deflate(byte[] content) { ByteArrayOutputStream output = new ByteArrayOutputStream(); DeflaterOutputStream compresser = new DeflaterOutputStream(output); try { compresser.write(content); compresser.flush(); } catch (IOException e) { Log.w(TAG, e.getMessage()); } finally { try { compresser.close(); } catch (IOException e) { } } return output.toByteArray(); // return content; } public static String toString(InputStream input) throws IOException { StringBuilderWriter sw = new StringBuilderWriter(); copy(input, sw); return sw.toString(); } public static void close(InputStream input) { if (input != null) { try { input.close(); } catch (IOException e) { } } } public static void close(OutputStream output) { if (output != null) { try { output.close(); } catch (IOException e) { } } } public static byte[] toByteArray(InputStream input) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); copy(input, output); return output.toByteArray(); } public static int copy(InputStream input, OutputStream output) throws IOException { long count = copyLarge(input, output); if (count > Integer.MAX_VALUE) { return -1; } return (int) count; } public static void copy(InputStream input, Writer output) throws IOException { InputStreamReader in = new InputStreamReader(input); copy(in, output); } public static int copy(Reader input, Writer output) throws IOException { long count = copyLarge(input, output); if (count > 2147483647L) { return -1; } return (int) count; } public static long copyLarge(InputStream input, OutputStream output) throws IOException { byte[] buffer = new byte[4096]; long count = 0L; int n = 0; while (-1 != (n = input.read(buffer))) { output.write(buffer, 0, n); count += n; } return count; } public static long copyLarge(Reader input, Writer output) throws IOException { char[] buffer = new char[4096]; long count = 0L; int n = 0; while (-1 != (n = input.read(buffer))) { output.write(buffer, 0, n); count += n; } return count; } }