Поделиться через


Pack200 Класс

Определение

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

[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
Атрибуты

Комментарии

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200. См. спецификацию формата передачи сети JSR 200 по адресу http://jcp.org/aboutJava/communityprocess/review/jsr200/index.html

Обычно обработчик упаковщика используется разработчиками приложений для развертывания или размещения JAR-файлов на веб-сайте. Подсистема распаковки используется приложениями развертывания для преобразования байтового потока обратно в JAR-формат.

Ниже приведен пример использования упаковщика и распаковки:

{@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();
               }
            }

Файл Pack200, сжатый с gzip, можно разместить на веб-серверах HTTP/1.1. Приложения развертывания могут использовать "Accept-Encoding=pack200-gzip". Это указывает серверу, что клиентское приложение хочет версию файла, закодированного с помощью Пакета 200 и последующего сжатия с помощью gzip. Дополнительные сведения и методы см. в руководстве по развертыванию Java.

Если иное не указано, передача аргумента null конструктору или методу в этом классе приведет NullPointerException к возникновению ошибки.

Добавлено в версии 1.5.

Документация по Java для java.util.jar.Pack200.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

Pack200(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
JniPeerMembers

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

PeerReference

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
Dispose(Boolean)

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
NewPacker()

Получите новый экземпляр класса, реализующего Packer.

NewUnpacker()

Получение нового экземпляра класса, реализующего распаковку.

Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

GetJniTypeName(IJavaPeerable)

Преобразует JAR-файл в упакованный поток или из упакованного потока в формате Pack200.

Применяется к