Class DataUtil


  • public final class DataUtil
    extends java.lang.Object
    Internal static utilities for handling data.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  DataUtil.BomCharset  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private DataUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) static void crossStreams​(java.io.InputStream in, java.io.OutputStream out)
      Writes the input stream to the output stream.
      private static DataUtil.BomCharset detectCharsetFromBom​(java.nio.ByteBuffer byteData)  
      (package private) static java.nio.ByteBuffer emptyByteBuffer()  
      (package private) static java.lang.String getCharsetFromContentType​(java.lang.String contentType)
      Parse out a charset from a content type header.
      static Document load​(java.io.File in, java.lang.String charsetName, java.lang.String baseUri)
      Loads a file to a Document.
      static Document load​(java.io.InputStream in, java.lang.String charsetName, java.lang.String baseUri)
      Parses a Document from an input steam.
      static Document load​(java.io.InputStream in, java.lang.String charsetName, java.lang.String baseUri, Parser parser)
      Parses a Document from an input steam, using the provided Parser.
      (package private) static java.lang.String mimeBoundary()
      Creates a random string, suitable for use as a mime boundary
      (package private) static Document parseInputStream​(java.io.InputStream input, java.lang.String charsetName, java.lang.String baseUri, Parser parser)  
      static java.nio.ByteBuffer readToByteBuffer​(java.io.InputStream inStream, int maxSize)
      Read the input stream into a byte buffer.
      private static java.lang.String validateCharset​(java.lang.String cs)  
      • Methods inherited from class java.lang.Object

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

      • charsetPattern

        private static final java.util.regex.Pattern charsetPattern
      • mimeBoundaryChars

        private static final char[] mimeBoundaryChars
    • Constructor Detail

      • DataUtil

        private DataUtil()
    • Method Detail

      • load

        public static Document load​(java.io.File in,
                                    java.lang.String charsetName,
                                    java.lang.String baseUri)
                             throws java.io.IOException
        Loads a file to a Document.
        Parameters:
        in - file to load
        charsetName - character set of input
        baseUri - base URI of document, to resolve relative links against
        Returns:
        Document
        Throws:
        java.io.IOException - on IO error
      • load

        public static Document load​(java.io.InputStream in,
                                    java.lang.String charsetName,
                                    java.lang.String baseUri)
                             throws java.io.IOException
        Parses a Document from an input steam.
        Parameters:
        in - input stream to parse. You will need to close it.
        charsetName - character set of input
        baseUri - base URI of document, to resolve relative links against
        Returns:
        Document
        Throws:
        java.io.IOException - on IO error
      • load

        public static Document load​(java.io.InputStream in,
                                    java.lang.String charsetName,
                                    java.lang.String baseUri,
                                    Parser parser)
                             throws java.io.IOException
        Parses a Document from an input steam, using the provided Parser.
        Parameters:
        in - input stream to parse. You will need to close it.
        charsetName - character set of input
        baseUri - base URI of document, to resolve relative links against
        parser - alternate parser to use.
        Returns:
        Document
        Throws:
        java.io.IOException - on IO error
      • crossStreams

        static void crossStreams​(java.io.InputStream in,
                                 java.io.OutputStream out)
                          throws java.io.IOException
        Writes the input stream to the output stream. Doesn't close them.
        Parameters:
        in - input stream to read from
        out - output stream to write to
        Throws:
        java.io.IOException - on IO error
      • parseInputStream

        static Document parseInputStream​(java.io.InputStream input,
                                         java.lang.String charsetName,
                                         java.lang.String baseUri,
                                         Parser parser)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • readToByteBuffer

        public static java.nio.ByteBuffer readToByteBuffer​(java.io.InputStream inStream,
                                                           int maxSize)
                                                    throws java.io.IOException
        Read the input stream into a byte buffer. To deal with slow input streams, you may interrupt the thread this method is executing on. The data read until being interrupted will be available.
        Parameters:
        inStream - the input stream to read from
        maxSize - the maximum size in bytes to read from the stream. Set to 0 to be unlimited.
        Returns:
        the filled byte buffer
        Throws:
        java.io.IOException - if an exception occurs whilst reading from the input stream.
      • emptyByteBuffer

        static java.nio.ByteBuffer emptyByteBuffer()
      • getCharsetFromContentType

        static java.lang.String getCharsetFromContentType​(java.lang.String contentType)
        Parse out a charset from a content type header. If the charset is not supported, returns null (so the default will kick in.)
        Parameters:
        contentType - e.g. "text/html; charset=EUC-JP"
        Returns:
        "EUC-JP", or null if not found. Charset is trimmed and uppercased.
      • validateCharset

        private static java.lang.String validateCharset​(java.lang.String cs)
      • mimeBoundary

        static java.lang.String mimeBoundary()
        Creates a random string, suitable for use as a mime boundary
      • detectCharsetFromBom

        private static DataUtil.BomCharset detectCharsetFromBom​(java.nio.ByteBuffer byteData)