Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

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