Deflater 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。
[Android.Runtime.Register("java/util/zip/Deflater", DoNotGenerateAcw=true)]
public class Deflater : Java.Lang.Object
[<Android.Runtime.Register("java/util/zip/Deflater", DoNotGenerateAcw=true)>]
type Deflater = class
inherit Object
- 继承
- 属性
注解
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 ZLIB 压缩库最初是 PNG 图形标准的一部分开发的,不受专利保护。 它在 java.util.zip 包说明的规范中全面介绍。
此类将字节序列化为 ZLIB 压缩的数据格式。 输入字节序列通过其中 setInput() 一种方法在字节数组或字节缓冲区中提供。 输出字节序列将写入传递给方法的 deflate() 输出字节数组或字节缓冲区。
以下代码片段演示了使用 Deflater 和解压缩字符串的简单压缩和 Inflater解压缩。
<blockquote>
try {
// Encode a String into bytes
String inputString = "blahblahblah";
byte[] input = inputString.getBytes("UTF-8");
// Compress the bytes
byte[] output = new byte[100];
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
int compressedDataLength = compresser.deflate(output);
compresser.end();
// Decompress the bytes
Inflater decompresser = new Inflater();
decompresser.setInput(output, 0, compressedDataLength);
byte[] result = new byte[100];
int resultLength = decompresser.inflate(result);
decompresser.end();
// Decode the bytes into a String
String outputString = new String(result, 0, resultLength, "UTF-8");
} catch (java.io.UnsupportedEncodingException ex) {
// handle
} catch (java.util.zip.DataFormatException ex) {
// handle
}
</blockquote>
在 1.1 中添加。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
构造函数
| 名称 | 说明 |
|---|---|
| Deflater() |
使用默认压缩级别创建新的压缩器。 |
| Deflater(Int32, Boolean) |
使用指定的压缩级别创建新的压缩器。 |
| Deflater(Int32) |
使用指定的压缩级别创建新的压缩器。 |
| Deflater(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
| 名称 | 说明 |
|---|---|
| BestCompression |
用于最佳压缩的压缩级别。 |
| BestSpeed |
用于最快压缩的压缩级别。 |
| DefaultCompression |
默认压缩级别。 |
| DefaultStrategy |
默认压缩策略。 |
| Deflated |
deflate 算法的压缩方法(目前唯一支持)。 |
| Filtered |
最适合用于由具有某种随机分布的小型值组成的数据的压缩策略。 |
| FullFlush |
用于刷新所有挂起的输出并重置放气器的压缩刷新模式。 |
| HuffmanOnly |
仅限 Huffman 编码的压缩策略。 |
| NoCompression |
无压缩的压缩级别。 |
| NoFlush |
用于实现最佳压缩结果的压缩刷新模式。 |
| SyncFlush |
用于刷新所有挂起输出的压缩刷新模式;可能会降低某些压缩算法的压缩。 |
属性
| 名称 | 说明 |
|---|---|
| Adler |
返回未压缩数据的 ADLER-32 值。 |
| BytesRead |
返回到目前为止未压缩的字节输入的总数。 |
| BytesWritten |
返回到目前为止的压缩字节输出总数。 |
| Class |
返回此 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| JniIdentityHashCode |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| JniPeerMembers |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| PeerReference |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
| ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
| TotalIn |
返回到目前为止未压缩的字节输入的总数。 |
| TotalOut |
返回到目前为止的压缩字节输出总数。 |
方法
| 名称 | 说明 |
|---|---|
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| Deflate(Byte[], Int32, Int32, Int32) |
压缩输入数据,并使用压缩的数据填充指定的缓冲区。 |
| Deflate(Byte[], Int32, Int32) |
压缩输入数据,并使用压缩的数据填充指定的缓冲区。 |
| Deflate(Byte[]) |
压缩输入数据,并使用压缩的数据填充指定的缓冲区。 |
| Deflate(ByteBuffer, Int32) |
压缩输入数据,并使用压缩的数据填充指定的缓冲区。 |
| Deflate(ByteBuffer) |
压缩输入数据,并使用压缩的数据填充指定的缓冲区。 |
| DeflateAsync(Byte[], Int32, Int32, Int32) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| DeflateAsync(Byte[], Int32, Int32) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| DeflateAsync(Byte[]) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| DeflateAsync(ByteBuffer, Int32) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| DeflateAsync(ByteBuffer) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| Dispose() |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| Dispose(Boolean) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| End() |
关闭压缩器并放弃任何未处理的输入。 |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| Finish() |
调用时,指示压缩应以输入缓冲区的当前内容结尾。 |
| Finished() |
如果已到达压缩数据输出流的末尾,则返回 true。 |
| GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| NeedsInput() |
如果未在输入缓冲区中保留任何数据,则返回 true。 |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| Reset() |
重置放气器,以便可以处理一组新的输入数据。 |
| SetDictionary(Byte[], Int32, Int32) |
设置压缩的预设字典。 |
| SetDictionary(Byte[]) |
设置压缩的预设字典。 |
| SetDictionary(ByteBuffer) |
设置压缩的预设字典。 |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| SetInput(Byte[], Int32, Int32) |
设置用于压缩的输入数据。 |
| SetInput(Byte[]) |
设置用于压缩的输入数据。 |
| SetInput(ByteBuffer) |
设置用于压缩的输入数据。 |
| SetLevel(Int32) |
将压缩级别设置为指定的值。 |
| SetStrategy(Int32) |
将压缩策略设置为指定的值。 |
| ToArray<T>() |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IJavaPeerable.Disposed() |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| IJavaPeerable.Finalized() |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| IJavaPeerable.JniManagedPeerState |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 (继承自 Object) |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
此类支持使用常用的 ZLIB 压缩库进行常规用途压缩。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |