public abstract class CharSource extends Object
Reader
, a
CharSource
is not an open, stateful stream of characters that can be read and closed.
Instead, it is an immutable supplier of InputStream
instances.
CharSource
provides two kinds of methods:
Several methods in this class, such as readLines()
, break the contents of the
source into lines. Like BufferedReader
, these methods break lines on any of \n
,
\r
or \r\n
, do not include the line separator in each line and do not consider
there to be an empty line at the end if the contents are terminated with a line separator.
Any ByteSource
containing text encoded with a specific character
encoding may be viewed as a CharSource
using ByteSource.asCharSource(Charset)
.
Constructor and Description |
---|
CharSource() |
Modifier and Type | Method and Description |
---|---|
long |
copyTo(Appendable appendable)
Appends the contents of this source to the given
Appendable (such as a Writer ). |
long |
copyTo(CharSink sink)
Copies the contents of this source to the given sink.
|
BufferedReader |
openBufferedStream()
Opens a new
BufferedReader for reading from this source. |
abstract Reader |
openStream()
Opens a new
Reader for reading from this source. |
String |
read()
Reads the contents of this source as a string.
|
String |
readFirstLine()
Reads the first link of this source as a string.
|
ImmutableList<String> |
readLines()
Reads all the lines of this source as a list of strings.
|
public CharSource()
public abstract Reader openStream() throws IOException
Reader
for reading from this source. This method should return a new,
independent reader each time it is called.
The caller is responsible for ensuring that the returned reader is closed.
IOException
- if an I/O error occurs in the process of opening the readerpublic BufferedReader openBufferedStream() throws IOException
BufferedReader
for reading from this source. This method should return a
new, independent reader each time it is called.
The caller is responsible for ensuring that the returned reader is closed.
IOException
- if an I/O error occurs in the process of opening the readerpublic long copyTo(Appendable appendable) throws IOException
Appendable
(such as a Writer
).
Does not close appendable
if it is Closeable
.IOException
- if an I/O error occurs in the process of reading from this source or
writing to appendable
public long copyTo(CharSink sink) throws IOException
IOException
- if an I/O error occurs in the process of reading from this source or
writing to sink
public String read() throws IOException
IOException
- if an I/O error occurs in the process of reading from this source@Nullable public String readFirstLine() throws IOException
null
if this source is empty.
Like BufferedReader
, this method breaks lines on any of \n
, \r
or
\r\n
, does not include the line separator in the returned line and does not consider
there to be an extra empty line at the end if the content is terminated with a line separator.
IOException
- if an I/O error occurs in the process of reading from this sourcepublic ImmutableList<String> readLines() throws IOException
Like BufferedReader
, this method breaks lines on any of \n
, \r
or
\r\n
, does not include the line separator in the returned lines and does not consider
there to be an extra empty line at the end if the content is terminated with a line separator.
IOException
- if an I/O error occurs in the process of reading from this sourceCopyright © 2010-2013. All Rights Reserved.