src/share/classes/java/util/zip/ZipOutputStream.java

Print this page
rev 4099 : 7041612: Rename StandardCharset to StandardCharsets
Reviewed-by: alanb, mr, darcy


  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package java.util.zip;
  27 
  28 import java.io.OutputStream;
  29 import java.io.IOException;
  30 import java.nio.charset.Charset;
  31 import java.nio.charset.StandardCharset;
  32 import java.util.Vector;
  33 import java.util.HashSet;
  34 import static java.util.zip.ZipConstants64.*;
  35 
  36 /**
  37  * This class implements an output stream filter for writing files in the
  38  * ZIP file format. Includes support for both compressed and uncompressed
  39  * entries.
  40  *
  41  * @author      David Connelly
  42  */
  43 public
  44 class ZipOutputStream extends DeflaterOutputStream implements ZipConstants {
  45 
  46     private static class XEntry {
  47         public final ZipEntry entry;
  48         public final long offset;
  49         public XEntry(ZipEntry entry, long offset) {
  50             this.entry = entry;
  51             this.offset = offset;


  84     }
  85     /**
  86      * Compression method for uncompressed (STORED) entries.
  87      */
  88     public static final int STORED = ZipEntry.STORED;
  89 
  90     /**
  91      * Compression method for compressed (DEFLATED) entries.
  92      */
  93     public static final int DEFLATED = ZipEntry.DEFLATED;
  94 
  95     /**
  96      * Creates a new ZIP output stream.
  97      *
  98      * <p>The UTF-8 {@link java.nio.charset.Charset charset} is used
  99      * to encode the entry names and comments.
 100      *
 101      * @param out the actual output stream
 102      */
 103     public ZipOutputStream(OutputStream out) {
 104         this(out, StandardCharset.UTF_8);
 105     }
 106 
 107     /**
 108      * Creates a new ZIP output stream.
 109      *
 110      * @param out the actual output stream
 111      *
 112      * @param charset the {@linkplain java.nio.charset.Charset charset}
 113      *                to be used to encode the entry names and comments
 114      *
 115      * @since 1.7
 116      */
 117     public ZipOutputStream(OutputStream out, Charset charset) {
 118         super(out, new Deflater(Deflater.DEFAULT_COMPRESSION, true));
 119         if (charset == null)
 120             throw new NullPointerException("charset is null");
 121         this.zc = ZipCoder.get(charset);
 122         usesDefaultDeflater = true;
 123     }
 124 




  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package java.util.zip;
  27 
  28 import java.io.OutputStream;
  29 import java.io.IOException;
  30 import java.nio.charset.Charset;
  31 import java.nio.charset.StandardCharsets;
  32 import java.util.Vector;
  33 import java.util.HashSet;
  34 import static java.util.zip.ZipConstants64.*;
  35 
  36 /**
  37  * This class implements an output stream filter for writing files in the
  38  * ZIP file format. Includes support for both compressed and uncompressed
  39  * entries.
  40  *
  41  * @author      David Connelly
  42  */
  43 public
  44 class ZipOutputStream extends DeflaterOutputStream implements ZipConstants {
  45 
  46     private static class XEntry {
  47         public final ZipEntry entry;
  48         public final long offset;
  49         public XEntry(ZipEntry entry, long offset) {
  50             this.entry = entry;
  51             this.offset = offset;


  84     }
  85     /**
  86      * Compression method for uncompressed (STORED) entries.
  87      */
  88     public static final int STORED = ZipEntry.STORED;
  89 
  90     /**
  91      * Compression method for compressed (DEFLATED) entries.
  92      */
  93     public static final int DEFLATED = ZipEntry.DEFLATED;
  94 
  95     /**
  96      * Creates a new ZIP output stream.
  97      *
  98      * <p>The UTF-8 {@link java.nio.charset.Charset charset} is used
  99      * to encode the entry names and comments.
 100      *
 101      * @param out the actual output stream
 102      */
 103     public ZipOutputStream(OutputStream out) {
 104         this(out, StandardCharsets.UTF_8);
 105     }
 106 
 107     /**
 108      * Creates a new ZIP output stream.
 109      *
 110      * @param out the actual output stream
 111      *
 112      * @param charset the {@linkplain java.nio.charset.Charset charset}
 113      *                to be used to encode the entry names and comments
 114      *
 115      * @since 1.7
 116      */
 117     public ZipOutputStream(OutputStream out, Charset charset) {
 118         super(out, new Deflater(Deflater.DEFAULT_COMPRESSION, true));
 119         if (charset == null)
 120             throw new NullPointerException("charset is null");
 121         this.zc = ZipCoder.get(charset);
 122         usesDefaultDeflater = true;
 123     }
 124