Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android自帶zip輕松實現壓縮解壓

android自帶zip輕松實現壓縮解壓

編輯:關於Android編程

開發過程用到了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;
	}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved