JavaのGZipに問題があります。現在、私はgzipされているファイルを扱います。 1つのgzipアーカイブに1つのファイル。そして、もしそれらを手動で解凍して解析すると、すべてが機能します。しかし、私はJavaとGZipInputStreamでこれを自動化したいが、うまくいきません。 最後にDataInputStreamが必要です。私のコードは:Java GzipInputStream into 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");
}
私も新しいGZIPInputStream(新しいFileInputStream(baseFile))を試しました。 結果は同じです。出力のために、Gzipストリームは例外なく作成されますが、後で私はDataInputStreamから無効なデータを取得します。 :)
なものと無効なデータ?有効なデータが何であったはずですか?どのように書かれた? – EJP
申し訳ありません:) reader.readByte()は、元のファイルを使用するか、またはgzippedバージョンを使用すると、異なる結果を表示します。 – kapodes