Package org.jsoup.helper
Class DataUtil
- java.lang.Object
-
- org.jsoup.helper.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
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
boundaryLength
(package private) static int
bufferSize
private static java.util.regex.Pattern
charsetPattern
(package private) static java.lang.String
defaultCharset
private static int
firstReadBufferSize
private static char[]
mimeBoundaryChars
-
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)
-
-
-
Field Detail
-
charsetPattern
private static final java.util.regex.Pattern charsetPattern
-
defaultCharset
static final java.lang.String defaultCharset
- See Also:
- Constant Field Values
-
firstReadBufferSize
private static final int firstReadBufferSize
- See Also:
- Constant Field Values
-
bufferSize
static final int bufferSize
- See Also:
- Constant Field Values
-
mimeBoundaryChars
private static final char[] mimeBoundaryChars
-
boundaryLength
static final int boundaryLength
- See Also:
- Constant Field Values
-
-
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 loadcharsetName
- character set of inputbaseUri
- 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 inputbaseUri
- 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 inputbaseUri
- base URI of document, to resolve relative links againstparser
- alternateparser
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 fromout
- 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 frommaxSize
- 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)
-
-