2004-07-30 Michael Koch <konqueror@gmx.de>
* java/util/zip/GZIPInputStream.java (GZIPInputStream): Increase buffer size to 4k. * java/util/zip/GZIPOutputStream.java (GZIPOutputStream): Likewise. * java/util/zip/Inflater.java (setInput): Merged formating with GNU classpath. * java/util/zip/InflaterInputStream.java (InflaterInputStream): Increase buffer size to 4k. (fill): Throw exception if stream ends early. (read): Merged endless-loop with GNU classpath. (skip): Increase buffer size to 2k. From-SVN: r85340
This commit is contained in:
parent
fbc8762793
commit
f370ef24f4
5 changed files with 30 additions and 12 deletions
|
@ -104,7 +104,7 @@ public class GZIPInputStream
|
|||
public GZIPInputStream(InputStream in)
|
||||
throws IOException
|
||||
{
|
||||
this(in, 512);
|
||||
this(in, 4096);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -69,7 +69,7 @@ public class GZIPOutputStream extends DeflaterOutputStream
|
|||
*/
|
||||
public GZIPOutputStream(OutputStream out) throws IOException
|
||||
{
|
||||
this(out, 512);
|
||||
this(out, 4096);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -251,7 +251,7 @@ public class Inflater
|
|||
* @param buffer the input.
|
||||
* @exception IllegalStateException if no input is needed.
|
||||
*/
|
||||
public void setInput (byte[] buf)
|
||||
public void setInput (byte[] buf)
|
||||
{
|
||||
setInput (buf, 0, buf.length);
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ public class InflaterInputStream extends FilterInputStream
|
|||
*/
|
||||
public InflaterInputStream(InputStream in)
|
||||
{
|
||||
this(in, new Inflater(), 512);
|
||||
this(in, new Inflater(), 4096);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -91,7 +91,7 @@ public class InflaterInputStream extends FilterInputStream
|
|||
*/
|
||||
public InflaterInputStream(InputStream in, Inflater inf)
|
||||
{
|
||||
this(in, inf, 512);
|
||||
this(in, inf, 4096);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -149,8 +149,10 @@ public class InflaterInputStream extends FilterInputStream
|
|||
|
||||
len = in.read(buf, 0, buf.length);
|
||||
|
||||
if (len != -1)
|
||||
inf.setInput(buf, 0, len);
|
||||
if (len < 0)
|
||||
throw new ZipException("Deflated stream ends early.");
|
||||
|
||||
inf.setInput(buf, 0, len);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -170,7 +172,7 @@ public class InflaterInputStream extends FilterInputStream
|
|||
return -1;
|
||||
|
||||
int count = 0;
|
||||
while (count == 0)
|
||||
for (;;)
|
||||
{
|
||||
if (inf.needsInput())
|
||||
fill();
|
||||
|
@ -193,8 +195,10 @@ public class InflaterInputStream extends FilterInputStream
|
|||
{
|
||||
throw new ZipException(dfe.getMessage());
|
||||
}
|
||||
|
||||
if (count > 0)
|
||||
return count;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -212,18 +216,18 @@ public class InflaterInputStream extends FilterInputStream
|
|||
if (n == 0)
|
||||
return 0;
|
||||
|
||||
int buflen = (int) Math.min(n, 1024);
|
||||
int buflen = (int) Math.min(n, 2048);
|
||||
byte[] tmpbuf = new byte[buflen];
|
||||
|
||||
long skipped = 0L;
|
||||
while (n > 0L)
|
||||
{
|
||||
int numread = read(tmpbuf, 0, buflen);
|
||||
if (numread == -1)
|
||||
if (numread <= 0)
|
||||
break;
|
||||
n -= numread;
|
||||
skipped += numread;
|
||||
buflen = (int) Math.min(n, 1024);
|
||||
buflen = (int) Math.min(n, 2048);
|
||||
}
|
||||
|
||||
return skipped;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue