intra-mart(R)
5.0

jp.co.intra_mart.common.aid.jdk.util.report
クラス ReportFileWriter

java.lang.Object
  拡張java.io.Writer
      拡張jp.co.intra_mart.common.aid.jdk.util.report.ReportFileWriter

public class ReportFileWriter
extends Writer

メッセージをファイルに出力するストリームクラスです。

このクラスは、メッセージを指定のファイルに対して出力するための スケルトンです。 また、このクラスは reset メソッドをオーバーライドすることにより、 ファイルのローテイト機能などを実装することができます。

導入されたバージョン:
version 5.0

フィールドの概要
 
クラス java.io.Writer から継承したフィールド
lock
 
コンストラクタの概要
ReportFileWriter(File f)
          ファイルへメッセージを書き出すためのライターオブジェクトを作成します。
 
メソッドの概要
 void close()
          ストリームを閉じてフラッシュします。
protected  Writer createWriter()
          メッセージをファイルへ書き出すための出力ストリームを作成します。
 Writer currentWriter()
          このオブジェクトが文字を書き出している基礎 Writer を返します。
protected  void finalize()
          このオブジェクトがガーベージコレクションによって破棄される時に、 ガーベージコレクタによって呼び出されます。
 void flush()
          ストリームをフラッシュします。
 File getFile()
          このオブジェクトが文字を書き出すファイルを取得します。
 void handleShutdown()
          シャットダウンイベントが発生したときに実行されるメソッドです。
 long length()
          このライターの出力文字数を取得します。
protected  void reconstruction()
          現在使用中の Writer をリセットします。
protected  Writer reset(Writer writer)
          文字の出力ストリームをリセットします。
 void write(char[] cbuf, int off, int len)
          基礎ストリームに文字を出力します。
 
クラス java.io.Writer から継承したメソッド
write, write, write, write
 
クラス java.lang.Object から継承したメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ReportFileWriter

public ReportFileWriter(File f)
                 throws IOException
ファイルへメッセージを書き出すためのライターオブジェクトを作成します。

パラメータ:
f - このライターで書き出すファイル
例外:
IOException - 入出力エラー
メソッドの詳細

getFile

public File getFile()
このオブジェクトが文字を書き出すファイルを取得します。
このメソッドは、このオブジェクトの作成時にコンストラクタの引数として 与えられた File オブジェクトへの参照を返します。

戻り値:
このライターで書き出すファイル

createWriter

protected Writer createWriter()
                       throws IOException
メッセージをファイルへ書き出すための出力ストリームを作成します。

このメソッドは、単に getFile メソッドが返すファイルに対して 文字を書き出すための出力ストリームを作成して返します。 このメソッドの返す出力ストリームを使うことで、 getFile メソッドの返す ファイルに対してメッセージを追記していくことができます。
メッセージを任意の文字コードに変換したり、出力バッファを備えた Writer オブジェクトを作成する必要がある場合には、サブクラスで このメソッドをオーバーライドして実装して下さい。

戻り値:
出力ストリーム
例外:
IOException

length

public long length()
このライターの出力文字数を取得します。
このメソッドで返される文字数は、このファイルに対して 現在までに出力した文字数です。 文字数カウンタは、reset メソッドを実行することにより 0 (ゼロ)にリセットされます。

戻り値:
出力文字数

currentWriter

public Writer currentWriter()
このオブジェクトが文字を書き出している基礎 Writer を返します。

戻り値:
基礎 Writer オブジェクト

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException
基礎ストリームに文字を出力します。
このメソッドをサブクラスがオーバーライドすることにより、 バッファ機能などを実装することができます。 ただし、このメソッドをオーバーライドしたサブクラスは、 同時に length メソッドもオーバーライドする必要があります。

パラメータ:
cbuf - 文字の配列
off - 文字の書き込み開始オフセット
len - 書き込む文字数
例外:
IOException

reconstruction

protected void reconstruction()
                       throws IOException
現在使用中の Writer をリセットします。
このメソッドは、FileReporter クラスにより呼び出されます。 FileReporter オブジェクトでは、ReportFileConditioner オブジェクトが ファイルの初期化を必要と判断した場合に、このメソッドを呼び出して、 Writer の初期化を求めてきます。 これにより、リポートファイルのローテイト機能などを 実装することができます。

例外:
IOException

reset

protected Writer reset(Writer writer)
                throws IOException
文字の出力ストリームをリセットします。

このメソッドは reset メソッドに呼び出されます。
このメソッドは、単に引数のストリーム(writer)をそのまま リターンします。ファイルのローテイト機能などを実装する場合、 サブクラスでこのメソッドをオーバーライドして下さい。

パラメータ:
writer - 現在のストリーム
戻り値:
新しいストリーム
例外:
IOException

close

public void close()
           throws IOException
ストリームを閉じてフラッシュします。
ストリームを一度閉じると、以降 write() または flush() を呼び出すと、 IOException がスローされます。 ただし、前に閉じたストリームを閉じても効果はありません。

例外:
IOException - 入出力エラーが発生した場合

flush

public void flush()
           throws IOException
ストリームをフラッシュします。
ストリームがさまざまな write() メソッドからの文字をバッファに 保存してある場合、これらの文字の目的の宛先にただちに文字を書き込みます。 宛先が別の文字またはバイトストリームの場合は、 この宛先をフラッシュします。 つまり 1 つの flush() の呼び出しで、 関連する Writer および OutputStream の すべてのバッファをフラッシュします。

サブクラスで、文字のバッファリング機能を実装している場合、 このメソッドをオーバーライドしてバッファに保存している 文字をフラッシュするように実装しなければいけません。

例外:
IOException - 入出力エラーが発生した場合

finalize

protected void finalize()
                 throws Throwable
このオブジェクトがガーベージコレクションによって破棄される時に、 ガーベージコレクタによって呼び出されます。
このオブジェクトの全てのリソースを破棄します。

例外:
Throwable

handleShutdown

public void handleShutdown()
シャットダウンイベントが発生したときに実行されるメソッドです。 このメソッドは、シャットダウンイベント発生時に、 バッファされているバイトをすべて出力するために flush() メソッドを呼び出します。


intra-mart(R)
5.0

Copyright © 2000-2005 NTT DATA INTRAMART CO.,LTD. All Rights Reserved.