Class CharStreams

java.lang.Object
com.google.common.io.CharStreams

@Beta @Deprecated(since="2022-12-01") public final class CharStreams extends Object
Deprecated.
The Google Guava Core Libraries are deprecated and will not be part of the AEM SDK after April 2023
Provides utility methods for working with character streams.

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.

Since:
1.0
  • Method Details

    • newReaderSupplier

      public static InputSupplier<StringReader> newReaderSupplier(String value)
      Deprecated.
      Returns a factory that will supply instances of StringReader that read a string value.
      Parameters:
      value - the string to read
      Returns:
      the factory
    • asCharSource

      @Deprecated public static CharSource asCharSource(String string)
      Deprecated.
      Use CharSource.wrap(CharSequence) instead. This method is scheduled to be removed in Guava 16.0.
      Returns a CharSource that reads the given string value.
      Since:
      14.0
    • newReaderSupplier

      public static InputSupplier<InputStreamReader> newReaderSupplier(InputSupplier<? extends InputStream> in, Charset charset)
      Deprecated.
      Returns a factory that will supply instances of InputStreamReader, using the given InputStream factory and character set.
      Parameters:
      in - the factory that will be used to open input streams
      charset - the charset used to decode the input stream; see Charsets for helpful predefined constants
      Returns:
      the factory
    • newWriterSupplier

      public static OutputSupplier<OutputStreamWriter> newWriterSupplier(OutputSupplier<? extends OutputStream> out, Charset charset)
      Deprecated.
      Returns a factory that will supply instances of OutputStreamWriter, using the given OutputStream factory and character set.
      Parameters:
      out - the factory that will be used to open output streams
      charset - the charset used to encode the output stream; see Charsets for helpful predefined constants
      Returns:
      the factory
    • write

      public static <W extends Appendable & Closeable> void write(CharSequence from, OutputSupplier<W> to) throws IOException
      Deprecated.
      Writes a character sequence (such as a string) to an appendable object from the given supplier.
      Parameters:
      from - the character sequence to write
      to - the output supplier
      Throws:
      IOException - if an I/O error occurs
    • copy

      public static <R extends Readable & Closeable, W extends Appendable & Closeable> long copy(InputSupplier<R> from, OutputSupplier<W> to) throws IOException
      Deprecated.
      Opens Readable and Appendable objects from the given factories, copies all characters between the two, and closes them.
      Parameters:
      from - the input factory
      to - the output factory
      Returns:
      the number of characters copied
      Throws:
      IOException - if an I/O error occurs
    • copy

      public static <R extends Readable & Closeable> long copy(InputSupplier<R> from, Appendable to) throws IOException
      Deprecated.
      Opens a Readable object from the supplier, copies all characters to the Appendable object, and closes the input. Does not close or flush the output.
      Parameters:
      from - the input factory
      to - the object to write to
      Returns:
      the number of characters copied
      Throws:
      IOException - if an I/O error occurs
    • copy

      public static long copy(Readable from, Appendable to) throws IOException
      Deprecated.
      Copies all characters between the Readable and Appendable objects. Does not close or flush either object.
      Parameters:
      from - the object to read from
      to - the object to write to
      Returns:
      the number of characters copied
      Throws:
      IOException - if an I/O error occurs
    • toString

      public static String toString(Readable r) throws IOException
      Deprecated.
      Reads all characters from a Readable object into a String. Does not close the Readable.
      Parameters:
      r - the object to read from
      Returns:
      a string containing all the characters
      Throws:
      IOException - if an I/O error occurs
    • toString

      public static <R extends Readable & Closeable> String toString(InputSupplier<R> supplier) throws IOException
      Deprecated.
      Returns the characters from a Readable invalid input: '&' Closeable object supplied by a factory as a String.
      Parameters:
      supplier - the factory to read from
      Returns:
      a string containing all the characters
      Throws:
      IOException - if an I/O error occurs
    • readFirstLine

      public static <R extends Readable & Closeable> String readFirstLine(InputSupplier<R> supplier) throws IOException
      Deprecated.
      Reads the first line from a Readable invalid input: '&' Closeable object supplied by a factory. The line does not include line-termination characters, but does include other leading and trailing whitespace.
      Parameters:
      supplier - the factory to read from
      Returns:
      the first line, or null if the reader is empty
      Throws:
      IOException - if an I/O error occurs
    • readLines

      public static <R extends Readable & Closeable> List<String> readLines(InputSupplier<R> supplier) throws IOException
      Deprecated.
      Reads all of the lines from a Readable invalid input: '&' Closeable object supplied by a factory. The lines do not include line-termination characters, but do include other leading and trailing whitespace.
      Parameters:
      supplier - the factory to read from
      Returns:
      a mutable List containing all the lines
      Throws:
      IOException - if an I/O error occurs
    • readLines

      public static List<String> readLines(Readable r) throws IOException
      Deprecated.
      Reads all of the lines from a 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.

      Parameters:
      r - the object to read from
      Returns:
      a mutable List containing all the lines
      Throws:
      IOException - if an I/O error occurs
    • readLines

      public static <T> T readLines(Readable readable, LineProcessor<T> processor) throws IOException
      Deprecated.
      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. Does not close readable. Note that this method may not fully consume the contents of readable if the processor stops processing early.
      Throws:
      IOException - if an I/O error occurs
      Since:
      14.0
    • readLines

      public static <R extends Readable & Closeable, T> T readLines(InputSupplier<R> supplier, LineProcessor<T> callback) throws IOException
      Deprecated.
      Streams lines from a Readable and Closeable object supplied by a factory, stopping when our callback returns false, or we have read all of the lines.
      Parameters:
      supplier - the factory to read from
      callback - the LineProcessor to use to handle the lines
      Returns:
      the output of processing the lines
      Throws:
      IOException - if an I/O error occurs
    • join

      public static InputSupplier<Reader> join(Iterable<? extends InputSupplier<? extends Reader>> suppliers)
      Deprecated.
      Joins multiple Reader suppliers into a single supplier. Reader returned from the supplier will contain the concatenated data from the readers of the underlying suppliers.

      Reading from the joined reader will throw a NullPointerException if any of the suppliers are null or return null.

      Only one underlying reader will be open at a time. Closing the joined reader will close the open underlying reader.

      Parameters:
      suppliers - the suppliers to concatenate
      Returns:
      a supplier that will return a reader containing the concatenated data
    • join

      public static InputSupplier<Reader> join(InputSupplier<? extends Reader>... suppliers)
      Deprecated.
      Varargs form of join(Iterable).
    • skipFully

      public static void skipFully(Reader reader, long n) throws IOException
      Deprecated.
      Discards n characters of data from the reader. This method will block until the full amount has been skipped. Does not close the reader.
      Parameters:
      reader - the reader to read from
      n - the number of characters to skip
      Throws:
      EOFException - if this stream reaches the end before skipping all the characters
      IOException - if an I/O error occurs
    • nullWriter

      public static Writer nullWriter()
      Deprecated.
      Returns a Writer that simply discards written chars.
      Since:
      15.0
    • asWriter

      public static Writer asWriter(Appendable target)
      Deprecated.
      Returns a Writer that sends all output to the given 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.
      Parameters:
      target - the object to which output will be sent
      Returns:
      a new Writer object, unless target is a Writer, in which case the target is returned
    • asCharSource

      public static CharSource asCharSource(InputSupplier<? extends Readable> supplier)
      Deprecated.
      Returns a view of the given Readable supplier as a CharSource.

      This method is a temporary method provided for easing migration from suppliers to sources and sinks.

      Since:
      15.0
    • asCharSink

      public static CharSink asCharSink(OutputSupplier<? extends Appendable> supplier)
      Deprecated.
      Returns a view of the given Appendable supplier as a CharSink.

      This method is a temporary method provided for easing migration from suppliers to sources and sinks.

      Since:
      15.0