android自带zip轻松实现压缩解压

来源:互联网 发布:mac怎么找到安装目录 编辑:程序博客网 时间:2024/05/29 17:46

开发过程用到了zip压缩包,写了一个工具类,该类可以实现把字符串直接压缩成zip格式,省去了写入文件再压缩的步骤:

/** *  * @author shx * 压缩和解压缩工具 * */public class ZipUtil {/** * 压缩方法 * @param str 要压缩的字符串 * @param path路径 * @throws IOException */public static void compress(String str,String path) throws IOException {if (null == str || str.length() <= 0) {return;}FileOutputStream fileOutputStream = new FileOutputStream(path);GZIPOutputStream gzip = new GZIPOutputStream(fileOutputStream);gzip.write(str.getBytes("utf-8"));gzip.close( );fileOutputStream.close();}/** * 解压缩 * @param context * @param path * @return */public static String unCompress(Context context,String path) {try {File file = new File(path);if (!file.exists()) {return context.getResources().getString(R.string.FileNotExits);}ByteArrayOutputStream out = new ByteArrayOutputStream();// 创建一个新的输出流FileInputStream fileInputStream = new FileInputStream(path);GZIPInputStream gzip = new GZIPInputStream(fileInputStream);byte[] buffer = new byte[256];int n = 0;// 将未压缩数据读入字节数组while ((n = gzip.read(buffer)) >= 0) {out.write(buffer, 0, n);}return out.toString("utf-8");} catch (Exception e) {e.printStackTrace();}return null;}


2 0
原创粉丝点击