언어

Deflater.Deflate 메서드

정의

오버로드

속성 Description
Deflate(ByteBuffer)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

Deflate(Byte[])

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

Deflate(ByteBuffer, Int32)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

Deflate(Byte[], Int32, Int32)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

Deflate(Byte[], Int32, Int32, Int32)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

Deflate(ByteBuffer)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

[Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;)I", "GetDeflate_Ljava_nio_ByteBuffer_Handler", ApiSince=35)]
public virtual int Deflate(Java.Nio.ByteBuffer? output);
[<Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;)I", "GetDeflate_Ljava_nio_ByteBuffer_Handler", ApiSince=35)>]
abstract member Deflate : Java.Nio.ByteBuffer -> int
override this.Deflate : Java.Nio.ByteBuffer -> int

매개 변수

output
ByteBuffer

압축된 데이터의 버퍼

반품

출력 버퍼에 기록된 압축된 데이터의 실제 바이트 수

특성

설명

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다. 압축된 데이터의 실제 바이트 수를 반환합니다. 반환 값 0은 더 많은 입력 데이터가 필요한지 확인하기 위해 호출되어야 임을 #needsInput() needsInput 나타냅니다.

이 메서드는 압축 플러시 모드로 사용합니다 #NO_FLUSH . 양식 deflater.deflate(output) 의 이 메서드를 호출하면 호출과 동일한 결과가 deflater.deflate(output, Deflater.NO_FLUSH)생성됩니다.

11에 추가되었습니다.

에 대한 java.util.zip.Deflater.deflate(java.nio.ByteBuffer)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Deflate(Byte[])

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

[Android.Runtime.Register("deflate", "([B)I", "GetDeflate_arrayBHandler")]
public virtual int Deflate(byte[]? output);
[<Android.Runtime.Register("deflate", "([B)I", "GetDeflate_arrayBHandler")>]
abstract member Deflate : byte[] -> int
override this.Deflate : byte[] -> int

매개 변수

output
Byte[]

압축된 데이터의 버퍼

반품

출력 버퍼에 기록된 압축된 데이터의 실제 바이트 수

특성

설명

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다. 압축된 데이터의 실제 바이트 수를 반환합니다. 반환 값 0은 더 많은 입력 데이터가 필요한지 확인하기 위해 호출되어야 임을 #needsInput() needsInput 나타냅니다.

이 메서드는 압축 플러시 모드로 사용합니다 #NO_FLUSH . 양식 deflater.deflate(b) 의 이 메서드를 호출하면 호출과 동일한 결과가 deflater.deflate(b, 0, b.length, Deflater.NO_FLUSH)생성됩니다.

에 대한 java.util.zip.Deflater.deflate(byte[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Deflate(ByteBuffer, Int32)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

[Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;I)I", "GetDeflate_Ljava_nio_ByteBuffer_IHandler", ApiSince=35)]
public virtual int Deflate(Java.Nio.ByteBuffer? output, int flush);
[<Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;I)I", "GetDeflate_Ljava_nio_ByteBuffer_IHandler", ApiSince=35)>]
abstract member Deflate : Java.Nio.ByteBuffer * int -> int
override this.Deflate : Java.Nio.ByteBuffer * int -> int

매개 변수

output
ByteBuffer

압축된 데이터의 버퍼

flush
Int32

압축 플러시 모드

반품

출력 버퍼에 기록된 압축된 데이터의 실제 바이트 수

특성

설명

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다. 압축된 데이터의 실제 바이트 수를 반환합니다.

압축 플러시 모드는 다음 세 가지 모드 중 하나입니다.

<ul><li>#NO_FLUSH: deflater가 최상의 압축을 달성하기 위해 출력을 생성하기 전에 누적할 데이터의 양을 결정할 수 있습니다(일반 사용 시나리오에서 사용해야 합니다). 이 플러시 모드의 반환 값 0은 더 많은 입력 데이터가 필요한지 확인하기 위해 호출되어야 임을 #needsInput() 나타냅니다.

<li>#SYNC_FLUSH: 압축된 데이터에서 작동하는 인플레이터가 지금까지 사용 가능한 모든 입력 데이터를 가져올 수 있도록 deflater의 보류 중인 모든 출력이 지정된 출력 버퍼로 플러시됩니다(특히 #needsInput() 충분한 출력 공간이 제공된 경우 이 호출 후 반환 true ). 플러시하면 #SYNC_FLUSH 일부 압축 알고리즘의 압축 성능이 저하될 수 있으므로 필요한 경우에만 사용해야 합니다.

<li>#FULL_FLUSH: 보류 중인 모든 출력이 .와 #SYNC_FLUSH같이 플러시됩니다. 압축된 출력 데이터에서 작동하는 인플레이터가 이전 압축 데이터가 손상되었거나 임의 액세스가 필요한 경우 이 지점에서 다시 시작할 수 있도록 압축 상태가 다시 설정됩니다. 너무 자주 사용하면 #FULL_FLUSH 압축 성능이 심각하게 저하됩니다. </ul>

반환 값이 버퍼의 #FULL_FLUSH#SYNC_FLUSH남은 ByteBuffer#remaining() 공간과 같으면 이 메서드는 동일한 flush 매개 변수와 더 많은 출력 공간을 사용하여 다시 호출되어야 합니다. 이 메서드를 호출할 때마다 플러시 마커(5바이트)가 출력 버퍼에 반복적으로 출력되지 않도록 버퍼에 6바이트 이상의 남은 공간이 있는지 확인합니다.

성공하면 지정된 output 바이트 버퍼의 위치가 이 메서드에서 반환된 수와 같은 작업에서 생성된 바이트만큼 고급화됩니다.

입력에 #setInput(ByteBuffer) 대한 버퍼를 제공하기 위해 메서드를 호출한 경우 입력 버퍼의 위치는 이 작업에서 사용되는 바이트 수만큼 고급화됩니다.

11에 추가되었습니다.

에 대한 java.util.zip.Deflater.deflate(java.nio.ByteBuffer, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Deflate(Byte[], Int32, Int32)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

[Android.Runtime.Register("deflate", "([BII)I", "GetDeflate_arrayBIIHandler")]
public virtual int Deflate(byte[]? output, int off, int len);
[<Android.Runtime.Register("deflate", "([BII)I", "GetDeflate_arrayBIIHandler")>]
abstract member Deflate : byte[] * int * int -> int
override this.Deflate : byte[] * int * int -> int

매개 변수

output
Byte[]

압축된 데이터의 버퍼

off
Int32

데이터의 시작 오프셋

len
Int32

압축된 데이터의 최대 바이트 수

반품

출력 버퍼에 기록된 압축된 데이터의 실제 바이트 수

특성

설명

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다. 압축된 데이터의 실제 바이트 수를 반환합니다. 반환 값 0은 더 많은 입력 데이터가 필요한지 확인하기 위해 호출되어야 임을 #needsInput() needsInput 나타냅니다.

이 메서드는 압축 플러시 모드로 사용합니다 #NO_FLUSH . 양식 deflater.deflate(b, off, len) 의 이 메서드를 호출하면 호출과 동일한 결과가 deflater.deflate(b, off, len, Deflater.NO_FLUSH)생성됩니다.

에 대한 java.util.zip.Deflater.deflate(byte[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Deflate(Byte[], Int32, Int32, Int32)

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다.

[Android.Runtime.Register("deflate", "([BIII)I", "GetDeflate_arrayBIIIHandler")]
public virtual int Deflate(byte[]? output, int off, int len, int flush);
[<Android.Runtime.Register("deflate", "([BIII)I", "GetDeflate_arrayBIIIHandler")>]
abstract member Deflate : byte[] * int * int * int -> int
override this.Deflate : byte[] * int * int * int -> int

매개 변수

output
Byte[]

압축된 데이터의 버퍼

off
Int32

데이터의 시작 오프셋

len
Int32

압축된 데이터의 최대 바이트 수

flush
Int32

압축 플러시 모드

반품

출력 버퍼에 기록된 압축된 데이터의 실제 바이트 수

특성

예외

flush 잘못되었습니다.

설명

입력 데이터를 압축하고 지정된 버퍼를 압축된 데이터로 채웁니다. 압축된 데이터의 실제 바이트 수를 반환합니다.

압축 플러시 모드는 다음 세 가지 모드 중 하나입니다.

<ul><li>#NO_FLUSH: deflater가 최상의 압축을 달성하기 위해 출력을 생성하기 전에 누적할 데이터의 양을 결정할 수 있습니다(일반 사용 시나리오에서 사용해야 합니다). 이 플러시 모드의 반환 값 0은 더 많은 입력 데이터가 필요한지 확인하기 위해 호출되어야 임을 #needsInput() 나타냅니다.

<li>#SYNC_FLUSH: 압축된 데이터에서 작동하는 인플레이터가 지금까지 사용 가능한 모든 입력 데이터를 가져올 수 있도록 deflater의 보류 중인 모든 출력이 지정된 출력 버퍼로 플러시됩니다(특히 #needsInput() 충분한 출력 공간이 제공된 경우 이 호출 후 반환 true ). 플러시하면 #SYNC_FLUSH 일부 압축 알고리즘의 압축 성능이 저하될 수 있으므로 필요한 경우에만 사용해야 합니다.

<li>#FULL_FLUSH: 보류 중인 모든 출력이 .와 #SYNC_FLUSH같이 플러시됩니다. 압축된 출력 데이터에서 작동하는 인플레이터가 이전 압축 데이터가 손상되었거나 임의 액세스가 필요한 경우 이 지점에서 다시 시작할 수 있도록 압축 상태가 다시 설정됩니다. 너무 자주 사용하면 #FULL_FLUSH 압축 성능이 심각하게 저하됩니다. </ul>

반환 값#FULL_FLUSH#SYNC_FLUSH 출력 버퍼len에서 사용할 수 있는 공간인 b경우 이 메서드는 동일한 flush 매개 변수와 더 많은 출력 공간을 사용하여 다시 호출되어야 합니다. 이 메서드가 len 호출될 때마다 플러시 표식(5바이트)이 출력 버퍼에 반복적으로 출력되지 않도록 6보다 큰지 확인합니다.

입력에 #setInput(ByteBuffer) 대한 버퍼를 제공하기 위해 메서드를 호출한 경우 입력 버퍼의 위치는 이 작업에서 사용되는 바이트 수만큼 고급화됩니다.

1.7에 추가되었습니다.

에 대한 java.util.zip.Deflater.deflate(byte[], int, int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상