Java tutorial
/* * 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; } }