Class DeflaterOutputStream nén dữ liệu và ghi ra đích.
Phương thức write() nhận data (int/byte), nén và ghi ra DeflaterOutputStream hiện tại. Để nén file:
- Tạo FileInputStream với đường dẫn file cần nén.
- Tạo FileOutputStream với đường dẫn file output.
- Tạo DeflaterOutputStream với FileOutputStream trên.
- Đọc file input và ghi bằng write() của DeflaterOutputStream.
Ví dụ
import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.DeflaterOutputStream; public class CompressingFiles { public static void main(String args[]) throws IOException { //Instantiating the FileInputStream String inputPath = "D:\\ExampleDirectory\\logo.jpg"; FileInputStream inputStream = new FileInputStream(inputPath); //Instantiating the FileOutputStream String outputPath = "D:\\ExampleDirectory\\compressedLogo.txt"; FileOutputStream outputStream = new FileOutputStream(outputPath); //Instantiating the DeflaterOutputStream DeflaterOutputStream compresser = new DeflaterOutputStream(outputStream); int contents; while ((contents=inputStream.read())!=-1){ compresser.write(contents); } compresser.close(); System.out.println("File compressed......."); } }
Kết quả
File compressed.......