- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在读高中,需要完成我的 AP 计算机编程类(class)的一个项目。基本上,我的老师在 java 中复习了 zlib 解压缩和压缩,并告诉我们制作一个小的 java 程序来解压缩一些压缩数据。我想补充一点,我是一个 minecraft 迷,发现 minecraft 中的 block 在 zlib 中被压缩,所以我开始解压缩这些 block 。无论如何,代码无法正常工作,我必须在星期二之前完成。我犯了什么错误?所有帮助将不胜感激。代码:
public static void read(String filein) throws IOException, DataFormatException{
//Initialize
ArrayList<Byte> bufflist = new ArrayList<Byte>();
File file = new File(filein);
RandomAccessFile mcr = new RandomAccessFile(file, "r");
RandomAccessFile cache = new RandomAccessFile("cache", "rw");
RandomAccessFile out = new RandomAccessFile("out", "rw");
//read file
int dataread = 0;
mcr.seek(8192);
while (dataread < file.length() - 8192){
dataread = dataread + 1;
byte b = mcr.readByte();
bufflist.add(b);
}
mcr.close();
//decode
for (int y=0; y<bufflist.size()-1; y++){
cache.write(bufflist.get(y));
}
InflaterInputStream infl = new InflaterInputStream(new FileInputStream("cache"), new Inflater());
int data = infl.read();
out.write(data);
}
public static void main(String[] args) throws IOException, DataFormatException
{
read("r.1.1.mca");
}
最佳答案
请注意:虽然有许多工具使用 zlib 进行(解)压缩,但结果以多种不同(专有)文件格式存储。 - 您需要知道压缩数据的存储格式才能解压缩,即使压缩算法匹配也是如此。
那么,您确定在输入文件的偏移量 8192 处跟随的数据流完全符合 zlib 期望的格式吗? - 我不认为它是专有文件格式。使用普通的 zlib 你甚至不能解压一个普通的 PKZIP (".zip") 文件。不要在这上面浪费你的时间,而是找一些其他的数据来玩。
您可能想先尝试通过 zlib 压缩一些已知数据,将其存储到文件或其他任何地方,然后根据需要查看它。然后,将该压缩数据文件交给 zlib,看看是否可以将其解压缩为原始格式。如果你能做到这一点,你就已经了解了很多关于如何使用 zlib 的知识。
对于其他任务,例如处理那些“.zip”文件,您可能需要查看 java.util.zip
中的 Java API。包。
哦,顺便说一下:“未知压缩方法” 结果可能有点误导。这仅仅表示 zlib 无法确定如何解压缩给定数据,这通常是由“损坏的”输入引起的,至少在给定的形式中,zlib 首先无法处理这些输入。
关于您的代码:
确保在尝试写入之前删除输出文件;以您的方式写入现有文件会将数据附加到文件的现有数据,而不是替换旧字节。
你真的应该close()
你的“缓存”文件,然后再尝试通过新的 InputStream
读取它.
在你的for
循环 y<bufflist.size()-1
实际上应该是 y<bufflist.size()
.
您可以节省所有这些 bufflist
东西:只需替换 bufflist.add(b);
与 cache.write(b);
.
关于Java zlib解压报错 "unknown compression method",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333396/
这是我的代码 14 20 {"Confirm Email"} 21 在第 17 行我得到错误 Type '{ pathname: string; user: { em
这是我的代码 14 20 {"Confirm Email"} 21 在第 17 行我得到错误 Type '{ pathname: string; user: { em
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 8 年前。 为什么 KeyEvent.getKeyText(0).substrin
我正在尝试 Rust 的新 wasm32-unknown-unknown 目标,我在调用数学函数(例如 sin、cos、exp、atan2)时遇到问题。 cargo .toml: [package]
当我为 spring-boot 创建启动项目时,我在 pom 文件中收到此错误。这只是为了创建一个基本的 Spring Boot 项目 Project build error: Invalid pac
我已经订阅了我想要传输的数据。但不知何故它不起作用。我收到此错误: The property pipe is not available for type "OperatorFunction" 这是我
运行以下查询时。select * from surgerys where to_char(dt_surgery ,'DD-MM-YYYY' ) = to_char('12-02-2012','DD-M
我在运行存储过程时遇到以下异常: com.microsoft.sqlserver.jdbc.SQLServerException:不支持从 UNKNOWN 到 UNKNOWN 的转换。 过程定义如下:
我尝试运行以下代码。顺便说一句,我对 python 和 sklearn 都是新手。 import pandas as pd import numpy as np from sklearn.linear
我已经阅读了关于未知类型的官方文档,但我很难真正理解它是如何工作的。 人们可以在文档中读到:“在没有首先断言或缩小到更具体的类型之前,不允许对未知进行任何操作。” 但如果我有这个功能: const f
我正在尝试在Mac OS中设置Hadoop 2.6.0 我正在关注这篇文章: http://hadoop.apache.org/docs/r2.4.0/hadoop-project-dist/hado
配置 Nexus docker 注册表和代理“dockerhub-proxy”后,如下所述: https://help.sonatype.com/repomanager3/formats/docker
我收到此错误 - “ValueError:未知标签类型:'unknown'” 我已经在网上搜索但无法摆脱这个错误,顺便说一句,我是 python 的新手:) 我的数据有 5 行 22 列,最后一列是标
使用 SHA256 摘要标识符 拉取图像失败 最佳答案 不幸的是,这是 DockerHub 删除 Docker 1.9 守护进程的向后兼容性的副作用。当使用 Docker 1.10 推送图像时,较旧的
我是 postgresql 的新手,正在尝试使用全文搜索 to_tsvector但是我遇到了错误。 SQL 和错误 SELECT to_tsvector('english', 'The quick b
每当我这样做时 npm run watch ,第一次编译工作正常 - 但经过几次编译后,我最终会得到这个错误: 95% emitting unnamed compat pluginError: UNK
在一个新的 Angular 应用程序中,我收到以下错误:Error from chokidar : Error: UNKNOWN: unknown error, watch我已经删除并重新安装 nod
使用 Typescipt 4.x.x 我写了一些代码来实现其他语言 Elm/Rust/Haskell 中常用的 Maybe/Option 类型。 我想写一个可以接受映射类型的通用函数 type MyM
const submitted = useSelector((state) => state.post.submitted) 对于上面的状态。我得到错误: (参数)状态:未知对象的类型为“未知”。 这
我正在尝试将多架构 docker 镜像推送到 docker hub 并遇到错误(在 https://github.com/docker/distribution/issues/3100 处打开了 do
我是一名优秀的程序员,十分优秀!