Class ZipEncodingHelper


  • public abstract class ZipEncodingHelper
    extends java.lang.Object
    Static helper functions for robustly encoding file names in zip files.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static java.lang.String UTF8
      name of the encoding UTF-8
      (package private) static ZipEncoding UTF8_ZIP_ENCODING
      the encoding UTF-8
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static ZipEncoding getZipEncoding​(java.lang.String name)
      Instantiates a zip encoding.
      (package private) static java.nio.ByteBuffer growBufferBy​(java.nio.ByteBuffer buffer, int increment)  
      (package private) static boolean isUTF8​(java.lang.String charsetName)
      Returns whether a given encoding is UTF-8.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • UTF8_ZIP_ENCODING

        static final ZipEncoding UTF8_ZIP_ENCODING
        the encoding UTF-8
    • Constructor Detail

      • ZipEncodingHelper

        public ZipEncodingHelper()
    • Method Detail

      • getZipEncoding

        public static ZipEncoding getZipEncoding​(java.lang.String name)
        Instantiates a zip encoding. An NIO based character set encoder/decoder will be returned. As a special case, if the character set is UTF-8, the nio encoder will be configured replace malformed and unmappable characters with '?'. This matches existing behavior from the older fallback encoder.

        If the requested characer set cannot be found, the platform default will be used instead.

        Parameters:
        name - The name of the zip encoding. Specify null for the platform's default encoding.
        Returns:
        A zip encoding for the given encoding name.
      • isUTF8

        static boolean isUTF8​(java.lang.String charsetName)
        Returns whether a given encoding is UTF-8. If the given name is null, then check the platform's default encoding.
        Parameters:
        charsetName - If the given name is null, then check the platform's default encoding.
      • growBufferBy

        static java.nio.ByteBuffer growBufferBy​(java.nio.ByteBuffer buffer,
                                                int increment)