Java는 InflaterInputStream이라는 클래스를 제공하며 이 클래스는 압축 파일의 압축을 푸는 데 사용됩니다.
이 클래스의 read() 메서드는 입력 스트림에서 압축된 데이터의 단일 바이트를 읽습니다. 이 방법을 사용하여 압축 파일의 압축을 풀려면 -
- FileInputStream 만들기 생성자에 대한 매개변수로 String 형식의 압축 파일 경로를 우회하는 객체입니다.
- FileOutputStream 만들기 생성자에 대한 매개변수로 String 형식의 출력 파일(압축되지 않은 이미지 파일)의 경로를 우회하는 객체.
- InflaterInputStream 생성 위에서 만든 FileOutputStream을 우회하는 개체 객체를 생성자에 대한 매개변수로 사용합니다.
- 그런 다음 InflaterInputStream의 내용을 읽으십시오. FileOutputStream 클래스의 write() 메서드를 사용하여 객체를 작성하고 작성합니다.
예
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.InflaterInputStream; public class DeCompressingFiles { public static void main(String args[]) throws IOException { StringinputPath ="D:\\ExampleDirectory\\compressed.txt"; //Instantiating the FileInputStream FileInputStream inputStream = new FileInputStream(inputPath); String outputpath = "D:\\ExampleDirectory\\output.jpg"; FileOutputStream outputStream = new FileOutputStream(outputpath); InflaterInputStream decompresser = new InflaterInputStream(inputStream); int contents; while ((contents=decompresser.read())!=-1){ outputStream.write(contents); } //close the file outputStream.close(); decompresser.close(); System.out.println("File un-compressed......."); } }
출력
File un-compressed.......