[java] 자바에서 압축 파일 내 특정 파일의 압축 비율 확인하기

먼저, 해당 압축 파일을 열어서 각 파일의 압축 전후 크기를 확인할 것입니다. 다음 코드 예제를 통해 방법을 설명해 드리겠습니다.

import java.io.FileInputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.Enumeration;

public class ZipFileCompressionRatio {
    public static void main(String[] args) {
        String filePath = "path/to/your/zipfile.zip";
        try {
            ZipFile zipFile = new ZipFile(filePath);
            Enumeration<? extends ZipEntry> entries = zipFile.entries();
            
            while (entries.hasMoreElements()) {
                ZipEntry entry = entries.nextElement();
                if (!entry.isDirectory()) {
                    double compressionRatio = (double) entry.getCompressedSize() / entry.getSize();
                    System.out.println("File: " + entry.getName() + ", Compression Ratio: " + compressionRatio);
                }
            }
            
            zipFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 코드에서는 먼저 압축 파일의 경로를 지정하고 ZipFile 객체를 생성합니다. 그 후 entries 메서드를 사용하여 압축 파일 내의 모든 엔트리를 가져옵니다. 각 엔트리를 이용하여 압축 전후 크기를 이용해 압축 비율을 계산하고 출력합니다.

이러한 방식으로 자바에서 압축 파일 내 특정 파일의 압축 비율을 확인할 수 있습니다.