Java: Lớp Inflater

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Lớp Inflater dùng để giải nén dữ liệu đã nén. Nó hỗ trợ việc giải nén sử dụng thư viện ZLIB.

Bảng sau liệt kê các phương thức và mô tả tương ứng của lớp Inflater.

Phương thức Mô tả
inflate(byte[] buffer) Điền vào bộ đệm xuất dữ liệu đã giải nén và trả về một số nguyên là kích thước thực của nó.
inflate(byte[] buffer, int offset, int len) Điền vào bộ đệm xuất dữ liệu đã giải nén và trả về một số nguyên là kích thước thực của nó. Ở đây, buffer là bộ đệm dùng để lưu dữ liệu đã giải nén, offset là vị trí bắt đầu của dữ liệu, len là số byte lớn nhất của dữ liệu đã giải nén.
setInput(byte[] buffer) Đặt dữ liệu nhập hiện thời vào bộ đệm để giải nén.
setInput(byte[] buffer, int offset, int len) Đặt dữ liệu nhập hiện thời vào bộ đệm để giải nén. Ở đây, buffer là bộ đệm dùng để lưu các byte dữ liệu đã nén, offset là vị trí bắt đầu của dữ liệu, len là độ dài của dữ liệu đã nén.
end() Đóng bộ giải nén.

Các phương thức của lớp Inflater

Đoạn mã 3 cho thấy cách dùng các phương thức của lớp Inflater.

Đoạn mã 3:

package solutions;

import java.util.zip.Deflater;
import java.util.zip.Inflater;

public class InflaterApplication {

  public static void main(String[] args) throws Exception {

    // Mã hóa mt chui thành các byte

    String input = "Lp Inflater gii nén d liu.";

    byte[] inputObj = input.getBytes("UTF-8");

    // Nén các byte

    byte[] output = new byte[100];

    Deflater deflaterObj = new Deflater();

    deflaterObj.setInput(inputObj);

    deflaterObj.finish();

    int compressDataLength = deflaterObj.deflate(output);

    System.out.println(compressDataLength);

    // Gii nén các byte

    Inflater inflaterObj = new Inflater();

    inflaterObj.setInput(output, 0, output.length);

    byte[] resultObj = new byte[100];

    int resultLength = inflaterObj.inflate(resultObj);

    inflaterObj.end();

    // Gii mã các byte thành mt chui

    String strOutput = new String(resultObj, 0, resultLength, "UTF-8");

    System.out.println("Recovered string is: " + strOutput);

  }

}

Trong đoạn mã trên, dữ liệu đầu vào để giải nén được thiết lập sử dụng đối tượng Inflater. Tiếp theo, đối tượng Inflater gọi phương thức inflate() để giải nén dữ liệu đã nén. Sau khi giải nén thì kết quả được lưu trữ vào mảng byte là result. Cuối cùng, result được lưu vào đối tượng chuỗi.

Kết quả sau đây thể hiện đầu ra cho đoạn mã trên.

48
Recovered string is: Lớp Inflater giải nén dữ liệu.

» Tiếp: Lớp DeflaterInputStream
« Trước: Lớp Deflater
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!