Reads characters available from the Reader and returns these characters as a String object. : Writer « File Input Output « Java






Reads characters available from the Reader and returns these characters as a String object.

   
/*
 * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006.
 *
 * Licensed under the Aduna BSD-style license.
 */
import java.io.CharArrayWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class Main {
  /**
   * Fully reads the characters available from the supplied Reader
   * and returns these characters as a String object.
   *
   * @param reader The Reader to read the characters from.
   * @return A String existing of the characters that were read.
   * @throws IOException If I/O error occurred.
   */
  public static final String readFully(Reader reader)
    throws IOException
  {
    CharArrayWriter out = new CharArrayWriter(4096);
    transfer(reader, out);
    out.close();

    return out.toString();
  }

  /**
   * Transfers all characters that can be read from <tt>in</tt> to
   * <tt>out</tt>.
   *
   * @param in The Reader to read characters from.
   * @param out The Writer to write characters to.
   * @return The total number of characters transfered.
   */
  public static final long transfer(Reader in, Writer out)
    throws IOException
  {
    long totalChars = 0;
    int charsInBuf = 0;
    char[] buf = new char[4096];

    while ((charsInBuf = in.read(buf)) != -1) {
      out.write(buf, 0, charsInBuf);
      totalChars += charsInBuf;
    }

    return totalChars;
  }
}

   
    
    
  








Related examples in the same category

1.Null Writer
2.String Buffer Writer
3.Provides Closable semantics ordinarily missing in a java.io.CharArrayWriter
4.A writer for char strings
5.Write the entire contents of the supplied string to the given writer. This method always flushes and closes the writer when finished.
6.Writes all characters from a Reader to a file using the default character encoding.
7.Wraps a stream, printing to standard out everything that is written to it.
8.Quick Writer
9.Writer that places all output on an {@link Appendable} target.