I (bir FTP sunucusundan alınan) bir dosya halletmek çalışıyorum:Sıkıştırılmış dosya zip İstisna: geçersiz giriş boyutu (193144 beklenen ancak 193.138 bayt var)
ZipInputStream zis = new ZipInputStream(
new FileInputStream(zipFile));
ZipEntry ze = zis.getNextEntry();
while (ze != null) {
String fileName = ze.getName();
File newFile = new File(outputFileName+outputFolder + File.separator + fileName);
System.out.println("file unzip : " + newFile.getAbsoluteFile());
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
sendFile = newFile;
ze = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
System.out.println("Done");
Ben sadece bir metin dosyası var. sıkıştırılmış dosya. Bu kod yerel windows makinemde iyi çalışıyor. Ancak, ubuntu sunucu üzerine konuşlandırılmış zaman, com.empress.Xsync.updater.ClientConfiguration.unZipFile (ClientConfiguration.java:246) aşağıdaki istisna ..
java.util.zip.ZipException: invalid entry size (expected 193144 but got 193138 bytes)
at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:386)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:156)
at java.io.FilterInputStream.read(FilterInputStream.java:90)
ben elle sıkıştırması var atar ..iyi çalışıyor. Orijinal .txt dosya boyutu 193144 bayttır.
Muhtemelen sorunla ilgisi yoktur, ancak 'InputStream.read (...) 'EOF'de -1 değerini döndürür ve geri dönebilir 0 'bir hata olmaksızın,'> = 0' veya '! = -1' değil'> 0' için kontrol etmelisiniz. –
Çok denedim .. Sorunu çözmedim! – simpleJack