Java の GZip に問題があります。現在、gzip されたファイルを使用しています。1 つの gzip アーカイブに 1 つのファイル。そして、それらを手動で解凍してから解析すると、すべてが機能します。しかし、これを Java と GZipInputStream で自動化したいのですが、うまくいきません。最後に DataInputStream が必要です。私のコードは次のとおりです。
byte[] bytesArray = Files.readAllBytes(baseFile.toPath());
try {
reader = new DataInputStream(new GZIPInputStream(new ByteArrayInputStream(bytesArray)));
System.out.println("gzip");
} catch (ZipException notZip) {
reader = new DataInputStream(new ByteArrayInputStream(bytesArray));
System.out.println("no gzip");
}
new GZIPInputStream(new FileInputStream(baseFile)); も試しました。結果は同じです。出力により、Gzip ストリームが例外なく作成されることがわかりますが、後で DataInputStream から無効なデータを取得します。助けてください :)