ZipOutputStream.java (level): Initial value is Deflater.DEFAULT_COMPRESSION.
* java/util/zip/ZipOutputStream.java (level): Initial value is Deflater.DEFAULT_COMPRESSION. (close): New method. (closeEntry): Likewise. (finish): Likewise. (put_version): Likewise. (write_entry): Likewise. (put2, put4): Now return `int'. (comment): Default to empty string. (bytes_written): New instance variable. (chain): Likewise. * java/util/zip/ZipEntry.java (setComment): Limit length of comment string. (setCrc): Check CRC validity. (setExtra): Check argument validity. (setMethod): Likewise. (setSize): Likewise. (ZipEntry): Likewise. * include/javaprims.h: Updated namespace declarations. * Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Mention new files. (nat_source_files): Likewise. * java/util/zip/ZipFile.java (readu2): Throw ZipException, not EOFException. (read4): Likewise. (getInputStream): Handle compressed entries. * java/util/zip/GZIPOutputStream.java: New file. * java/util/zip/GZIPInputStream.java: New file. * java/util/zip/DataFormatException.java: New file. * java/util/zip/CheckedInputStream.java: New file. * java/util/zip/CheckedOutputStream.java: New file. * java/util/zip/InflaterInputStream.java: Implemented. * java/util/zip/natInflater.cc: New file. * java/util/zip/Deflater.java: Implemented. * java/util/zip/natDeflater.cc: New file. * java/util/zip/DeflaterOutputStream.java: Implemented. * java/util/zip/ZipInputStream.java (closeZipEntry): Throw ZipException, not IOException. * java/util/zip/ZipFile.java (readDirectory): Throw ZipException, not IOException. From-SVN: r26996
This commit is contained in:
parent
5a9e5c6fb6
commit
0ffac8322f
19 changed files with 1555 additions and 80 deletions
|
@ -39,6 +39,10 @@ public class ZipEntry
|
|||
|
||||
public ZipEntry (String name)
|
||||
{
|
||||
if (name == null)
|
||||
throw new NullPointerException ();
|
||||
if (name.length() > 65535)
|
||||
throw new IllegalArgumentException ();
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
|
@ -69,17 +73,45 @@ public class ZipEntry
|
|||
return false;
|
||||
}
|
||||
|
||||
public void setComment (String comment) { this.comment = comment; }
|
||||
public void setComment (String comment)
|
||||
{
|
||||
if (comment != null && comment.length() > 65535)
|
||||
throw new IllegalArgumentException ();
|
||||
this.comment = comment;
|
||||
}
|
||||
|
||||
public void setCrc (long crc) { this.crc = crc; }
|
||||
public void setCrc (long crc)
|
||||
{
|
||||
if (crc < 0 || crc > 0xffffffff)
|
||||
throw new IllegalArgumentException ();
|
||||
this.crc = crc;
|
||||
}
|
||||
|
||||
public void setExtra (byte[] extra) { this.extra = extra; }
|
||||
public void setExtra (byte[] extra)
|
||||
{
|
||||
if (extra != null && extra.length > 65535)
|
||||
throw new IllegalArgumentException ();
|
||||
this.extra = extra;
|
||||
}
|
||||
|
||||
public void setMethod(int method) { this.method = method; }
|
||||
public void setMethod (int method)
|
||||
{
|
||||
if (method != DEFLATED && method != STORED)
|
||||
throw new IllegalArgumentException ();
|
||||
this.method = method;
|
||||
}
|
||||
|
||||
public void setSize (long size) { this.size = size; }
|
||||
public void setSize (long size)
|
||||
{
|
||||
if (size < 0 || size > 0xffffffff)
|
||||
throw new IllegalArgumentException ();
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
public void setTime (long time) { this.time = time; }
|
||||
public void setTime (long time)
|
||||
{
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
private final static short[] daysToMonthStart = {
|
||||
//Jan Feb Mar Apr May Jun Jul
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue