📅  最后修改于: 2023-12-03 15:31:52.672000             🧑  作者: Mango
Inflater
是Java中用于数据解压缩的类,可以将压缩后的数据解压缩成原始的数据。getTotalIn()
是Inflater
类中的一个函数,用于获取已经处理过的输入字节数。
public int getTotalIn()
该函数返回已经处理过的输入字节数。
import java.util.zip.DataFormatException;
import java.util.zip.Inflater;
public class Example {
public static void main(String[] args) throws DataFormatException {
String compressed = "78 9C 63 60 60 60 CC CC CC 0C 44 04 00 03 99 32 06 DD";
byte[] compressedBytes = toByteArray(compressed);
Inflater inflater = new Inflater();
inflater.setInput(compressedBytes);
inflater.inflate(new byte[1024]);
int totalIn = inflater.getTotalIn();
System.out.println("Total input bytes: " + totalIn);
}
private static byte[] toByteArray(String hexString) {
String[] hexValues = hexString.trim().split(" ");
byte[] bytes = new byte[hexValues.length];
for (int i = 0; i < hexValues.length; i++) {
bytes[i] = (byte) Integer.parseInt(hexValues[i], 16);
}
return bytes;
}
}
上述示例中,我们在创建Inflater
对象之后,调用了setInput
函数将压缩后的字节数组作为输入,之后调用inflate
函数将输入解压缩。最后,我们使用getTotalIn
函数获取解压缩过程中所处理的字节数,并将其输出。
输出结果为:
Total input bytes: 17
在使用getTotalIn
函数时,需要先调用setInput
函数设置输入才能获取到解压缩过程中所处理的字节数。