@Beta public final class CharStreams extends java.lang.Object
All method parameters must be non-null unless documented otherwise.
Some of the methods in this class take arguments with a generic type of
Readable & Closeable
. A Reader
implements both of
those interfaces. Similarly for Appendable & Closeable
and
Writer
.
Modifier and Type | Method and Description |
---|---|
static java.io.Writer |
asWriter(java.lang.Appendable target)
Returns a Writer that sends all output to the given
Appendable
target. |
static long |
copy(java.lang.Readable from,
java.lang.Appendable to)
Copies all characters between the
Readable and Appendable
objects. |
static java.io.Writer |
nullWriter()
Returns a
Writer that simply discards written chars. |
static java.util.List<java.lang.String> |
readLines(java.lang.Readable r)
Reads all of the lines from a
Readable object. |
static <T> T |
readLines(java.lang.Readable readable,
LineProcessor<T> processor)
Streams lines from a
Readable object, stopping when the processor
returns false or all lines have been read and returning the result
produced by the processor. |
static void |
skipFully(java.io.Reader reader,
long n)
Discards
n characters of data from the reader. |
static java.lang.String |
toString(java.lang.Readable r)
Reads all characters from a
Readable object into a String . |
public static long copy(java.lang.Readable from, java.lang.Appendable to) throws java.io.IOException
Readable
and Appendable
objects. Does not close or flush either object.from
- the object to read fromto
- the object to write tojava.io.IOException
- if an I/O error occurspublic static java.lang.String toString(java.lang.Readable r) throws java.io.IOException
Readable
object into a String
.
Does not close the Readable
.r
- the object to read fromjava.io.IOException
- if an I/O error occurspublic static java.util.List<java.lang.String> readLines(java.lang.Readable r) throws java.io.IOException
Readable
object. The lines do
not include line-termination characters, but do include other
leading and trailing whitespace.
Does not close the Readable
. If reading files or resources you
should use the Files.readLines(java.io.File, java.nio.charset.Charset)
and Resources.readLines(java.net.URL, java.nio.charset.Charset, com.google.common.io.LineProcessor<T>)
methods.
r
- the object to read fromList
containing all the linesjava.io.IOException
- if an I/O error occurspublic static <T> T readLines(java.lang.Readable readable, LineProcessor<T> processor) throws java.io.IOException
Readable
object, stopping when the processor
returns false
or all lines have been read and returning the result
produced by the processor. Does not close readable
. Note that this
method may not fully consume the contents of readable
if the
processor stops processing early.java.io.IOException
- if an I/O error occurspublic static void skipFully(java.io.Reader reader, long n) throws java.io.IOException
n
characters of data from the reader. This method
will block until the full amount has been skipped. Does not close the
reader.reader
- the reader to read fromn
- the number of characters to skipjava.io.EOFException
- if this stream reaches the end before skipping all
the charactersjava.io.IOException
- if an I/O error occurspublic static java.io.Writer nullWriter()
Writer
that simply discards written chars.public static java.io.Writer asWriter(java.lang.Appendable target)
Appendable
target. Closing the writer will close the target if it is Closeable
, and flushing the writer will flush the target if it is Flushable
.target
- the object to which output will be sent