我有一個使用system.io.compression.gzipstream
庫的.net應用程序壓縮(zip)的文件。 我試圖在java中使用java.util.zip.GZIPInputStream
進行解壓縮(解壓縮)。 扔:解壓縮(解壓縮)由.net壓縮(解壓縮)的文件.net system.io.compression.gzipstream
java.io.EOFException的 在java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:246) 在java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:237 ) 在java.util.zip.GZIPInputStream.readUInt(GZIPInputStream.java:229) 在java.util.zip.GZIPInputStream.readTrailer(GZIPInputStream.java:197) 在java.util.zip.GZIPInputStream.read(GZIPInputStream的.java:92) 在java.io.FilterInputStream.read(FilterInputStream.java:90) 在juwdemoproj.FileWriterTest.gunzipIt(FileWriterTest.java:353) 在juwdemoproj.FileWriterTes t.main(FileWriterTest.java:51)
我的示例代碼:
public static void gunzipIt() {
byte[] buffer = new byte[1024];
String zipFilePath = "C:\\Juw\\JR\\file\\output\\020030214112016.zip";
String destDirectory = "C:\\Juw\\JR\\file\\output\\targetUnzip";
try {
GZIPInputStream gzis =
new GZIPInputStream(new FileInputStream(zipFilePath));
FileOutputStream out = new FileOutputStream(destDirectory);
int len;
while ((len = gzis.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
gzis.close();
out.close();
System.out.println("Done");
} catch (IOException ex) {
ex.printStackTrace();
}
}
問: - 是否有可能在解壓的java文件,當文件是由.NET壓縮應用? - 任何可以達到上述要求的zip庫?
謝謝
ZIP和GZip是兩種不同和不兼容的格式。我建議你打開.zip作爲ZIP而不是.gz文件。 –
@PeterLawrey嗯,OP確實說它是使用.NET的'gzipstream'壓縮的,所以它可能只是文件擴展名是錯誤的。無論哪種方式,OP似乎混淆了Zip與GZip,因爲壓縮文件應具有'.zip'文件擴展名,並且gzip文件應該具有'.gz'文件擴展名。 – Andreas
hi @PeterLawrey,是的我的客戶端將它保存爲.zip文件擴展名,但他們使用gzipstream庫。我可以在他們的代碼中看到它。 – cumibulat