私は高校生で、ap コンピューター プログラミング コースのプロジェクトを完了する必要があります。基本的に、私の先生は Java での zlib 解凍と圧縮について説明し、圧縮されたデータを解凍する小さな Java プログラムを作成するように言いました。私はマインクラフトの常習者であり、マインクラフトのチャンクがzlibで圧縮されていることを発見したので、それらのチャンクを解凍することに着手したことを付け加えたい. とにかくコードが機能しないので、火曜日までに完成させなければなりません。私はどんな間違いをしていますか?すべての助けをいただければ幸いです。コード:
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");
}