JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util.zip
클래스 Deflater

java.lang.Object 
  |
  +--java.util.zip.Deflater

public class Deflater
extends Object

이 클래스는 일반적인 ZLIB 압축 프로그램 라이브러리를 사용해 범용의 압축 알고리즘을 서포트합니다. ZLIB 압축 프로그램 라이브러리는 당초 PNG 그래픽 표준의 일부로서 개발된 것으로, 특허로는 보호되고 있지 않습니다. 사양의 자세한 것은 「패키지 java.util.zip 의 설명」을 참조해 주세요.

관련 항목:
Inflater

필드의 개요
static int BEST_COMPRESSION
          최적인 압축을 위한 압축 레벨입니다.
static int BEST_SPEED
          최고속에서의 압축을 위한 압축 레벨입니다.
static int DEFAULT_COMPRESSION
          디폴트의 압축 레벨입니다.
static int DEFAULT_STRATEGY
          디폴트의 압축 방법입니다.
static int DEFLATED
          deflate 알고리즘의 압축 메소드 (현재 서포트되고 있는 것은 1 kr 뿐)입니다.
static int FILTERED
          작은 값이 어느 정도 랜덤에 분포하고 있는 데이터에 최적인 압축 방법입니다.
static int HUFFMAN_ONLY
          하프맨 코딩 전용의 압축 방법입니다.
static int NO_COMPRESSION
          압축하지 않는 경우의 압축 레벨입니다.
 
생성자의 개요
Deflater ()
          디폴트의 압축 레벨로 새로운 압력을 작성합니다.
Deflater (int level)
          지정된 압축 레벨로 새로운 압력을 작성합니다.
Deflater (int level, boolean nowrap)
          지정된 압축 레벨로 새로운 압력을 작성합니다.
 
메소드의 개요
 int deflate (byte[] b)
          지정된 버퍼를 압축 데이터로 채웁니다.
 int deflate (byte[] b, int off, int len)
          지정된 버퍼를 압축 데이터로 채웁니다.
 void end ()
          압력을 닫아 압축 해제된 입력을 모두 파기합니다.
protected  void finalize ()
          가베지 콜렉션을 했을 때에 압력을 닫습니다.
 void finish ()
          이 메소드가 불려 가면(자), 압축이 입력 버퍼의 현재의 내용으로 종료할 필요가 있는 것을 나타냅니다.
 boolean finished ()
          압축 데이터의 출력 스트림의 마지막에 달했을 경우에 true 를 돌려줍니다.
 int getAdler ()
          압축 해제 데이터의 ADLER-32 치를 돌려줍니다.
 int getTotalIn ()
          지금까지 입력된 바이트의 총수를 돌려줍니다.
 int getTotalOut ()
          지금까지 출력된 바이트의 총수를 돌려줍니다.
 boolean needsInput ()
          입력 데이터 버퍼가 하늘이기 (위해)때문에, setInput()를 호출해 입력을 추가할 필요가 있는 경우에 true 를 돌려줍니다.
 void reset ()
          새로운 입력 데이터세트를 처리할 수 있게 디플렉터를 리셋트 합니다.
 void setDictionary (byte[] b)
          압축을 위한 pre-set 딕쇼내리를 설정합니다.
 void setDictionary (byte[] b, int off, int len)
          압축을 위한 pre-set 딕쇼내리를 설정합니다.
 void setInput (byte[] b)
          압축을 위한 입력 데이터를 설정합니다.
 void setInput (byte[] b, int off, int len)
          압축을 위한 입력 데이터를 설정합니다.
 void setLevel (int level)
          현재의 압축 레벨이 지정된 값으로 설정합니다.
 void setStrategy (int strategy)
          압축 방법이 지정된 값으로 설정합니다.
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

DEFLATED

public static final int DEFLATED
deflate 알고리즘의 압축 메소드 (현재 서포트되고 있는 것은 1 kr 뿐)입니다.

관련 항목:
정수 필드치

NO_COMPRESSION

public static final int NO_COMPRESSION
압축하지 않는 경우의 압축 레벨입니다.

관련 항목:
정수 필드치

BEST_SPEED

public static final int BEST_SPEED
최고속에서의 압축을 위한 압축 레벨입니다.

관련 항목:
정수 필드치

BEST_COMPRESSION

public static final int BEST_COMPRESSION
최적인 압축을 위한 압축 레벨입니다.

관련 항목:
정수 필드치

DEFAULT_COMPRESSION

public static final int DEFAULT_COMPRESSION
디폴트의 압축 레벨입니다.

관련 항목:
정수 필드치

FILTERED

public static final int FILTERED
작은 값이 어느 정도 랜덤에 분포하고 있는 데이터에 최적인 압축 방법입니다. 하프맨 코딩을 늘려, 캐릭터 라인 매칭을 줄입니다.

관련 항목:
정수 필드치

HUFFMAN_ONLY

public static final int HUFFMAN_ONLY
하프맨 코딩 전용의 압축 방법입니다.

관련 항목:
정수 필드치

DEFAULT_STRATEGY

public static final int DEFAULT_STRATEGY
디폴트의 압축 방법입니다.

관련 항목:
정수 필드치
생성자의 상세

Deflater

public Deflater(int level,
                boolean nowrap)
지정된 압축 레벨로 새로운 압력을 작성합니다. 파라미터 nowrap 가 true 의 경우, ZILB 헤더 필드 및 체크 섬 필드는 GZIP 및 PKZIP 의 양쪽 모두로 사용되는 압축 형식의 서포트에는 사용되지 않습니다.

파라미터:
level - 압축 레벨 (0 ~ 9)
nowrap - true 의 경우는 GZIP 호환의 압축을 사용

Deflater

public Deflater(int level)
지정된 압축 레벨로 새로운 압력을 작성합니다. 압축 데이터는 ZLIB 형식에서 생성됩니다.

파라미터:
level - 압축 레벨 (0 ~ 9)

Deflater

public Deflater()
디폴트의 압축 레벨로 새로운 압력을 작성합니다. 압축 데이터는 ZLIB 형식에서 생성됩니다.

메소드의 상세

setInput

public void setInput(byte[] b,
                     int off,
                     int len)
압축을 위한 입력 데이터를 설정합니다. needsInput()로 한층 더 입력이 필요한 것을 나타내는 true 가 돌려주어질 때는 이 메소드를 호출할 필요가 있습니다.

파라미터:
b - 입력 데이터 바이트
off - 데이터의 개시 오프셋(offset)
len - 데이터의 길이
관련 항목:
needsInput()

setInput

public void setInput(byte[] b)
압축을 위한 입력 데이터를 설정합니다. needsInput()로 한층 더 입력이 필요한 것을 나타내는 true 가 돌려주어질 때는 이 메소드를 호출할 필요가 있습니다.

파라미터:
b - 입력 데이터 바이트
관련 항목:
needsInput()

setDictionary

public void setDictionary(byte[] b,
                          int off,
                          int len)
압축을 위한 pre-set 딕쇼내리를 설정합니다. pre-set 딕쇼내리는 히스토리 버퍼를 미리 결정할 수 있을 때 사용됩니다. 데이터가 나중에 Inflater.inflate()에 의해 압축 해제될 때, Inflater.getAdler()를 호출해 압축 해제에 필요한 딕쇼내리의 Adler-32 치를 취득할 수 있습니다.

파라미터:
b - 딕쇼내리 데이터 바이트
off - 데이터의 개시 오프셋(offset)
len - 데이터의 길이
관련 항목:
Inflater.inflate(byte[], int, int) , Inflater.getAdler()

setDictionary

public void setDictionary(byte[] b)
압축을 위한 pre-set 딕쇼내리를 설정합니다. pre-set 딕쇼내리는 히스토리 버퍼를 미리 결정할 수 있을 때 사용됩니다. 데이터가 나중에 Inflater.inflate()에 의해 압축 해제될 때, Inflater.getAdler()를 호출해 압축 해제에 필요한 딕쇼내리의 Adler-32 치를 취득할 수 있습니다.

파라미터:
b - 딕쇼내리 데이터 바이트
관련 항목:
Inflater.inflate(byte[], int, int) , Inflater.getAdler()

setStrategy

public void setStrategy(int strategy)
압축 방법이 지정된 값으로 설정합니다.

파라미터:
strategy - 새로운 압축 방법
예외:
IllegalArgumentException - 압축 방법이 무효인 경우

setLevel

public void setLevel(int level)
현재의 압축 레벨이 지정된 값으로 설정합니다.

파라미터:
level - 새로운 압축 레벨 (0 ~ 9)
예외:
IllegalArgumentException - 압축 레벨이 무효인 경우

needsInput

public boolean needsInput()
입력 데이터 버퍼가 하늘이기 (위해)때문에, setInput()를 호출해 입력을 추가할 필요가 있는 경우에 true 를 돌려줍니다.

반환값:
입력 데이터 버퍼가 하늘이기 (위해)때문에, setInput()를 호출해 입력을 추가할 필요가 있는 경우는 true

finish

public void finish()
이 메소드가 불려 가면(자), 압축이 입력 버퍼의 현재의 내용으로 종료할 필요가 있는 것을 나타냅니다.


finished

public boolean finished()
압축 데이터의 출력 스트림의 마지막에 달했을 경우에 true 를 돌려줍니다.

반환값:
압축 데이터의 출력 스트림의 마지막에 달했을 경우는 true

deflate

public int deflate(byte[] b,
                   int off,
                   int len)
지정된 버퍼를 압축 데이터로 채웁니다. 실제로 압축된 데이터의 바이트수를 돌려줍니다. 반환값 0 은 입력 데이터가 한층 더 필요한가 어떤가를 판단하기 위해서(때문에) needsInput()를 호출할 필요가 있는 것을 나타냅니다.

파라미터:
b - 압축 데이터용의 버퍼
off - 데이터의 개시 오프셋(offset)
len - 압축 데이터의 최대 바이트수
반환값:
압축 데이터의 실효 바이트수

deflate

public int deflate(byte[] b)
지정된 버퍼를 압축 데이터로 채웁니다. 실제로 압축된 데이터의 바이트수를 돌려줍니다. 반환값 0 은 입력 데이터가 한층 더 필요한가 어떤가를 판단하기 위해서(때문에) needsInput()를 호출할 필요가 있는 것을 나타냅니다.

파라미터:
b - 압축 데이터용의 버퍼
반환값:
압축 데이터의 실효 바이트수

getAdler

public int getAdler()
압축 해제 데이터의 ADLER-32 치를 돌려줍니다.

반환값:
압축 해제 데이터의 ADLER-32 치

getTotalIn

public int getTotalIn()
지금까지 입력된 바이트의 총수를 돌려줍니다.

반환값:
지금까지 입력된 바이트의 총수

getTotalOut

public int getTotalOut()
지금까지 출력된 바이트의 총수를 돌려줍니다.

반환값:
지금까지 출력된 바이트의 총수

reset

public void reset()
새로운 입력 데이터세트를 처리할 수 있게 디플렉터를 리셋트 합니다. 현재의 압축 레벨과 압축 방법을 보관 유지합니다.


end

public void end()
압력을 닫아 압축 해제된 입력을 모두 파기합니다. 이 메소드는 압력을 사용하지 않게 되었을 때에 호출할 필요가 있습니다만, finalize() 메소드에 의해도 자동적으로 불려 갑니다. 이 메소드가 불려 간 뒤의 Deflater 오브젝트의 동작은 프로텍션되지 않습니다.


finalize

protected void finalize()
가베지 콜렉션을 했을 때에 압력을 닫습니다.

오버라이드(override):
클래스 Object 내의 finalize

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.