国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > android自带zip轻松实现压缩解压

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

来源:程序员人生   发布时间:2014-09-06 21:29:40 阅读次数:5042次

开发过程用到了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; }


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生