< prev index next >

src/java.base/share/classes/java/util/zip/ZipCoder.java

Print this page
8200124: Various cleanups in jar/zip
Reviewed-by: sherman


  61         }
  62 
  63         @Override
  64         byte[] getBytes(String s) {
  65             return JLA.getBytesUTF8NoRepl(s);
  66         }
  67     }
  68 
  69     // UTF_8.ArrayEn/Decoder is stateless, so make it singleton.
  70     private static ZipCoder utf8 = new UTF8(UTF_8);
  71 
  72     public static ZipCoder get(Charset charset) {
  73         if (charset == UTF_8)
  74             return utf8;
  75         return new ZipCoder(charset);
  76     }
  77 
  78     String toString(byte[] ba, int off, int length) {
  79         try {
  80               return decoder().decode(ByteBuffer.wrap(ba, off, length)).toString();
  81 
  82         } catch (CharacterCodingException x) {
  83             throw new IllegalArgumentException(x);
  84         }
  85     }
  86 
  87     String toString(byte[] ba, int length) {
  88         return toString(ba, 0, length);
  89     }
  90 
  91     String toString(byte[] ba) {
  92         return toString(ba, 0, ba.length);
  93     }
  94 
  95     byte[] getBytes(String s) {
  96         try {
  97             ByteBuffer bb = encoder().encode(CharBuffer.wrap(s));
  98             int pos = bb.position();
  99             int limit = bb.limit();
 100             if (bb.hasArray() && pos == 0 && limit == bb.capacity()) {
 101                 return bb.array();




  61         }
  62 
  63         @Override
  64         byte[] getBytes(String s) {
  65             return JLA.getBytesUTF8NoRepl(s);
  66         }
  67     }
  68 
  69     // UTF_8.ArrayEn/Decoder is stateless, so make it singleton.
  70     private static ZipCoder utf8 = new UTF8(UTF_8);
  71 
  72     public static ZipCoder get(Charset charset) {
  73         if (charset == UTF_8)
  74             return utf8;
  75         return new ZipCoder(charset);
  76     }
  77 
  78     String toString(byte[] ba, int off, int length) {
  79         try {
  80             return decoder().decode(ByteBuffer.wrap(ba, off, length)).toString();

  81         } catch (CharacterCodingException x) {
  82             throw new IllegalArgumentException(x);
  83         }
  84     }
  85 
  86     String toString(byte[] ba, int length) {
  87         return toString(ba, 0, length);
  88     }
  89 
  90     String toString(byte[] ba) {
  91         return toString(ba, 0, ba.length);
  92     }
  93 
  94     byte[] getBytes(String s) {
  95         try {
  96             ByteBuffer bb = encoder().encode(CharBuffer.wrap(s));
  97             int pos = bb.position();
  98             int limit = bb.limit();
  99             if (bb.hasArray() && pos == 0 && limit == bb.capacity()) {
 100                 return bb.array();


< prev index next >