Writes all characters from a Reader to a file using the default character encoding. : Writer « File Input Output « Java






Writes all characters from a Reader to a file using the default character encoding.

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

public class Main {
  
  /**
   * Writes all characters from a <tt>Reader</tt> to a file using the default
   * character encoding.
   *
   * @param reader The <tt>Reader</tt> containing the data to write to the
   * file.
   * @param file The file to write the data to.
   * @return The total number of characters written.
   * @throws IOException If an I/O error occured while trying to write the
   * data to the file.
   * @see java.io.FileWriter
   */
  public static final long writeToFile(Reader reader, File file)
    throws IOException
  {
    FileWriter writer = new FileWriter(file);

    try {
      return transfer(reader, writer);
    }
    finally {
      writer.close();
    }
  }
  /**
   * 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.Reads characters available from the Reader and returns these characters as a String object.
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.