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". Это указывает серверу, что клиентскому приложению требуется версия файла, закодированная с помощью Pack200 и дополнительно сжатая с помощью gzip. Дополнительные сведения и методы см. в руководстве по развертыванию Java .
Если не указано иное, передача null
аргумента конструктору или методу в этом классе вызовет NullPointerException
исключение .
Добавлено в версии 1.5.
Документация по Java для java.util.jar.Pack200
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
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() |
Получите новый экземпляр класса , реализующего Unpacker. |
Notify() |
Пробуждает один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Преобразует JAR-файл в упакованный поток или из нее в формате Pack200. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Преобразует JAR-файл в упакованный поток или из нее в формате Pack200. (Унаследовано от Object) |
Wait() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от Object) |
Wait(Int64) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от 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. |