다음을 통해 공유


Pack200 클래스

정의

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

[Android.Runtime.Register("java/util/jar/Pack200", DoNotGenerateAcw=true)]
public abstract class Pack200 : Java.Lang.Object
[<Android.Runtime.Register("java/util/jar/Pack200", DoNotGenerateAcw=true)>]
type Pack200 = class
    inherit Object
상속
Pack200
특성

설명

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다. 에서 네트워크 전송 형식 JSR 200 사양을 참조하세요. http://jcp.org/aboutJava/communityprocess/review/jsr200/index.html

일반적으로 Packer 엔진은 애플리케이션 개발자가 웹 사이트에서 JAR 파일을 배포하거나 호스트하는 데 사용됩니다. unpacker 엔진은 배포 애플리케이션에서 바이트 스트림을 JAR 형식으로 다시 변환하는 데 사용됩니다.

다음은 packer 및 unpacker를 사용하는 예제입니다.

{@code
               import java.util.jar.Pack200;
               import java.util.jar.Pack200.*;
               ...
               // Create the Packer object
               Packer packer = Pack200.newPacker();

               // Initialize the state by setting the desired properties
               Map p = packer.properties();
               // take more time choosing codings for better compression
               p.put(Packer.EFFORT, "7");  // default is "5"
               // use largest-possible archive segments (>10% better compression).
               p.put(Packer.SEGMENT_LIMIT, "-1");
               // reorder files for better compression.
               p.put(Packer.KEEP_FILE_ORDER, Packer.FALSE);
               // smear modification times to a single value.
               p.put(Packer.MODIFICATION_TIME, Packer.LATEST);
               // ignore all JAR deflation requests,
               // transmitting a single request to use "store" mode.
               p.put(Packer.DEFLATE_HINT, Packer.FALSE);
               // discard debug attributes
               p.put(Packer.CODE_ATTRIBUTE_PFX+"LineNumberTable", Packer.STRIP);
               // throw an error if an attribute is unrecognized
               p.put(Packer.UNKNOWN_ATTRIBUTE, Packer.ERROR);
               // pass one class file uncompressed:
               p.put(Packer.PASS_FILE_PFX+0, "mutants/Rogue.class");
               try {
                   JarFile jarFile = new JarFile("/tmp/testref.jar");
                   FileOutputStream fos = new FileOutputStream("/tmp/test.pack");
                   // Call the packer
                   packer.pack(jarFile, fos);
                   jarFile.close();
                   fos.close();

                   File f = new File("/tmp/test.pack");
                   FileOutputStream fostream = new FileOutputStream("/tmp/test.jar");
                   JarOutputStream jostream = new JarOutputStream(fostream);
                   Unpacker unpacker = Pack200.newUnpacker();
                   // Call the unpacker
                   unpacker.unpack(f, jostream);
                   // Must explicitly close the output.
                   jostream.close();
               } catch (IOException ioe) {
                   ioe.printStackTrace();
               }
            }

gzip으로 압축된 Pack200 파일은 HTTP/1.1 웹 서버에서 호스트할 수 있습니다. 배포 애플리케이션은 "Accept-Encoding=pack200-gzip"을 사용할 수 있습니다. 이는 클라이언트 애플리케이션이 Pack200으로 인코딩되고 gzip으로 추가로 압축된 파일의 버전을 원한다는 것을 서버에 나타냅니다. 자세한 내용과 기술은 Java 배포 가이드를 참조하세요.

달리 명시되지 않는 한 이 클래스의 null 생성자 또는 메서드에 인수를 전달하면 throw NullPointerException 됩니다.

1.5에 추가되었습니다.

에 대한 java.util.jar.Pack200Java 설명서

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

생성자

Pack200(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
JniPeerMembers

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

PeerReference

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Dispose()

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
NewPacker()

Packer를 구현하는 클래스의 새 인스턴스를 가져옵니다.

NewUnpacker()

Unpacker를 구현하는 클래스의 새 인스턴스를 가져옵니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

GetJniTypeName(IJavaPeerable)

PACK200 형식으로 압축된 스트림에서 JAR 파일을 변환합니다.

적용 대상