import java.io.*;
/**
* 不要なバイトのレポジトリ
* 基本的には /dev/null を置き換える
*/
public class BitBucketOutputStream extends OutputStream
{
/**
* BitBucketOutputStream を出力として使えるように System.Out を設定する。
* 結果として、標準の出力を使わないことになる。
* restoreSystemOut を参照
*/
public static void nullSystemOut()
{
System.setOut(new PrintStream(new BitBucketOutputStream(), true));
}
/**
* デフォルトの System.out に似た System.out を再度作成し
* デフォルトの動作を復元する。
* nullSystemOut を参照
*/
public static void restoreSystemOut()
{
FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);
System.setOut(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
}
/**
* BitBucketOutputStream を出力ストリームとして利用するように System.err を
* 設定する。結果として、標準のエラーを使わないことになる。
* restoreSystemErr を参照。
*/
public static void nullSystemErr()
{
System.setErr(new PrintStream(new BitBucketOutputStream(), true));
}
/**
* デフォルトの System.err に似た System.err を再度作成し
* デフォルトの動作を復元する。
* nullSystemErr を参照
*/
public static void restoreSystemErr()
{
FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);
System.setErr(new PrintStream(new BufferedOutputStream(fdErr, 128), true));
}
/**
* 指定されたバイトに対して何もしない
*
* @param b 無視するバイト
* @exception IOException は I/O エラーが起こった場合
*/
public void write(int b) throws IOException
{ }
}
|