作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用
从输入流打印一个 blockint skip = in.skip(1024); //skip first 1024b
int end = in.available(); // remaining size in b
for (int i = skip; i < end; i++) {
//prints chunk of data from in-stream from skip till end
System.out.println(in.read());
}
我想压缩跳过到结束之间的字节,而不是从跳过到结束打印(in.read())有人可以帮我先压缩然后解压吗
<小时/>我试过了
FileOutputStream fos = new FileOutputStream(ChunkZipName);
GZIPOutputStream chunkZipper = new GZIPOutputStream (fos);
for (int i = skip; i < end; i++) {
chunkZipper.write(in.read()); }
但它只写入 10 个字节.. 剩余字节被跳过...这是 GZIPOutputStream 的正确用法吗???
最佳答案
只需在您的真实流周围包裹一个 GZIPOutputStream
/GZIPInputStream
即可。
out = new GZIPOutputStream (out);
顺便说一句:如果您想真正跳过 1024 个字节,您必须检查 skip
的返回值并重复剩余的字节,因为在某些情况下(缓冲区)该方法不会跳过完全到达所需位置。
关于java - 压缩和解压缩输入流中的字节 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9818323/
为什么 pickle 重用现有的 Python 类“C”而不是从 pickle 字节重建类?有没有一种方法可以在没有副作用的情况下 pickle 和解 pickle ? 这是我的回复 session
我是一名优秀的程序员,十分优秀!