Package org.apache.commons.io.input
Class CharSequenceInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.io.input.CharSequenceInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class CharSequenceInputStream extends java.io.InputStreamImplements anInputStreamto read bytes from String, StringBuffer, StringBuilder or CharBuffer, encoded using the specified Charset. The Charset defaults to Charset.defaultCharset().Note: Supports
mark(int)andreset().To build an instance, use
CharSequenceInputStream.Builder.- Since:
- 2.2
- See Also:
CharSequenceInputStream.Builder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCharSequenceInputStream.BuilderBuilds a newCharSequenceInputStream.
-
Constructor Summary
Constructors Modifier Constructor Description privateCharSequenceInputStream(java.lang.CharSequence cs, int bufferSize, java.nio.charset.CharsetEncoder charsetEncoder)CharSequenceInputStream(java.lang.CharSequence cs, java.lang.String charset)Deprecated.CharSequenceInputStream(java.lang.CharSequence cs, java.lang.String charset, int bufferSize)Deprecated.CharSequenceInputStream(java.lang.CharSequence cs, java.nio.charset.Charset charset)Deprecated.CharSequenceInputStream(java.lang.CharSequence cs, java.nio.charset.Charset charset, int bufferSize)Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()Gets a lower bound on the number of bytes remaining in the byte stream.static CharSequenceInputStream.Builderbuilder()Constructs a newCharSequenceInputStream.Builder.voidclose()private voidfillBuffer()Fills the byte output buffer from the input char buffer.(package private) java.nio.charset.CharsetEncodergetCharsetEncoder()Gets the CharsetEncoder.voidmark(int readLimit)booleanmarkSupported()private static java.nio.charset.CharsetEncodernewEncoder(java.nio.charset.Charset charset)intread()intread(byte[] b)intread(byte[] array, int off, int len)voidreset()longskip(long n)
-
-
-
Field Detail
-
NO_MARK
private static final int NO_MARK
- See Also:
- Constant Field Values
-
bBuf
private final java.nio.ByteBuffer bBuf
-
bBufMark
private int bBufMark
-
cBuf
private final java.nio.CharBuffer cBuf
-
cBufMark
private int cBufMark
-
charsetEncoder
private final java.nio.charset.CharsetEncoder charsetEncoder
-
-
Constructor Detail
-
CharSequenceInputStream
@Deprecated public CharSequenceInputStream(java.lang.CharSequence cs, java.nio.charset.Charset charset)Deprecated.Constructs a new instance with a buffer size ofIOUtils.DEFAULT_BUFFER_SIZE.- Parameters:
cs- the input character sequence.charset- the character set name to use.- Throws:
java.lang.IllegalArgumentException- if the buffer is not large enough to hold a complete character.
-
CharSequenceInputStream
@Deprecated public CharSequenceInputStream(java.lang.CharSequence cs, java.nio.charset.Charset charset, int bufferSize)Deprecated.Constructs a new instance.- Parameters:
cs- the input character sequence.charset- the character set name to use, null maps to the default Charset.bufferSize- the buffer size to use.- Throws:
java.lang.IllegalArgumentException- if the buffer is not large enough to hold a complete character.
-
CharSequenceInputStream
private CharSequenceInputStream(java.lang.CharSequence cs, int bufferSize, java.nio.charset.CharsetEncoder charsetEncoder)
-
CharSequenceInputStream
@Deprecated public CharSequenceInputStream(java.lang.CharSequence cs, java.lang.String charset)Deprecated.Constructs a new instance with a buffer size ofIOUtils.DEFAULT_BUFFER_SIZE.- Parameters:
cs- the input character sequence.charset- the character set name to use.- Throws:
java.lang.IllegalArgumentException- if the buffer is not large enough to hold a complete character.
-
CharSequenceInputStream
@Deprecated public CharSequenceInputStream(java.lang.CharSequence cs, java.lang.String charset, int bufferSize)Deprecated.Constructs a new instance.- Parameters:
cs- the input character sequence.charset- the character set name to use, null maps to the default Charset.bufferSize- the buffer size to use.- Throws:
java.lang.IllegalArgumentException- if the buffer is not large enough to hold a complete character.
-
-
Method Detail
-
builder
public static CharSequenceInputStream.Builder builder()
Constructs a newCharSequenceInputStream.Builder.- Returns:
- a new
CharSequenceInputStream.Builder. - Since:
- 2.12.0
-
newEncoder
private static java.nio.charset.CharsetEncoder newEncoder(java.nio.charset.Charset charset)
-
available
public int available() throws java.io.IOExceptionGets a lower bound on the number of bytes remaining in the byte stream.- Overrides:
availablein classjava.io.InputStream- Returns:
- the count of bytes that can be read without blocking (or returning EOF).
- Throws:
java.io.IOException- if an error occurs (probably not possible).
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
fillBuffer
private void fillBuffer() throws java.nio.charset.CharacterCodingExceptionFills the byte output buffer from the input char buffer.- Throws:
java.nio.charset.CharacterCodingException- an error encoding data.
-
getCharsetEncoder
java.nio.charset.CharsetEncoder getCharsetEncoder()
Gets the CharsetEncoder.- Returns:
- the CharsetEncoder.
-
mark
public void mark(int readLimit)
- Overrides:
markin classjava.io.InputStream- Parameters:
readLimit- max read limit (ignored).
-
markSupported
public boolean markSupported()
- Overrides:
markSupportedin classjava.io.InputStream
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] array, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classjava.io.InputStream- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException- Overrides:
skipin classjava.io.InputStream- Throws:
java.io.IOException
-
-