/*
 * HWriter.java
 *
 * Author: http://www.hrtdotnet.jp/
 *
 */
package jp.hrtdotnet.java.io;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * データの出力（書込み）処理の抽象クラスです。
 * 
 * @version 2.0
 * @author hrtdotnet.jp
 * <br>http://www.hrtdotnet.jp/
 * @since 2.0
 */
public abstract class HWriter {

    /**	 
     * 入力ストリームのデータを出力ストリームに出力します。
     * 
     * @param in 入力ストリーム
     * @param out 出力ストリーム
     * @since 2.0
     * */
    protected void write(InputStream in, OutputStream out) throws IOException {
        if (in == null || out == null) {
            throw new NullPointerException("Stream is null.");
        }
        int read;
        while ((read = in.read()) != -1) {
            out.write(read);
        }
        out.flush();
    }
}
