当ZipInputStream的大小超过1 Gb时,我收到此错误,但它对500mb数据工作正常;
Java调用因未捕获的Java异常而终止:java.lang.RuntimeException:java.io.EOFException:ZLIB输入流的意外结束
conn = (oracle.jdbc.OracleConnection)new OracleDriver().defaultConnection();
newBlob=conn.createBlob();
InputStream is = blob.getBinaryStream();
ZipInputStream zis = new ZipInputStream(is);
//get the zipped file list entry
ZipEntry ze = zis.getNextEntry();
while (ze != null) {
OutputStream os = newBlob.setBinaryStream(1);
while (zis.available() != 0) {
os.write(zis.read());
}
os.flush();
ze = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
但如果我正在使用
newBlob = BLOB.createTemporary(conn,false,oracle.sql.BLOB.DURATION_SESSION); 这个,然后它运行正常。
请帮助。 提前致谢