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
- Наследование
- Атрибуты
Комментарии
Преобразует 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 |
Возвращает класс среды выполнения этого |
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. |