我在Java中使用GZip時遇到問題。目前我使用gzip文件。一個gzip壓縮文件中的一個文件。如果我手動解壓他們,然後解析他們一切正常。但我想用Java和GZipInputStream自動執行此操作,但它不起作用。 我需要在最後有DataInputStream。我的代碼是: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");
}
我也嘗試新的GZIPInputStream(新的FileInputStream(baseFile)); 結果是一樣的。由於輸出,我看到Gzip流創建無一例外,但後來我從DataInputStream無效的數據。 請幫助:)
無效的數據,比如什麼呢?當有效數據應該是什麼?寫的如何? – EJP
對不起:如果我使用原始文件或它的gzip版本,reader.readByte()會提供不同的結果。 – kapodes