intra-mart(R)
5.0

jp.co.intra_mart.common.aid.jdk.java.io
クラス ReplaceWriter

java.lang.Object
  拡張java.io.Writer
      拡張jp.co.intra_mart.common.aid.jdk.java.io.ReplaceWriter

public class ReplaceWriter
extends Writer

このクラスは、部分文字列を別な部分文字列へ置換しながら ストリームに文字列を書き込むためのストリームフィルタを実装します。
置換対象となる部分文字列と置換する文字列の長さは同じ必要はありません。 置換対象となる文字データと異なる長さの文字データを置換後のデータとして 指定することも可能です。この場合、 このクラスによって基礎ストリームに書き込まれるデータ量は、 元のデータ量と変化します。

   java.io.StringWriter sw = new java.io.StringWriter();
ReplaceWriter rw = new ReplaceWriter(sw, "abc", "xyz");
rw.write("abc"); String result = sw.toString();
文字データ "abc" は、"xyz" に変化します。この場合、以下のように 記述しても同様の結果が得られます。
   java.io.StringWriter sw = new java.io.StringWriter();
ReplaceWriter rw = new ReplaceWriter(sw, "abc", "xyz");
rw.write("a"); rw.write("b"); rw.write("c"); String result = sw.toString();

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

フィールドの概要
 
クラス java.io.Writer から継承したフィールド
lock
 
コンストラクタの概要
ReplaceWriter(Writer out, char[] oldChars)
          文字列削除のためのストリームフィルタを作成します。
ReplaceWriter(Writer out, char[] oldChars, char[] newChars)
          文字列置換のためのストリームフィルタを作成します。
ReplaceWriter(Writer out, String oldString)
          文字列削除のためのストリームフィルタを作成します。
ReplaceWriter(Writer out, String oldString, String newString)
          文字列置換のためのストリームフィルタを作成します。
 
メソッドの概要
 void close()
          ストリームを閉じてフラッシュします。
 void finish()
          バッファに保存してあるデータを書き出します。
 void flush()
          ストリームをフラッシュします。
 void write(char[] cbuf, int off, int len)
          文字列の一部を基礎ストリームに書き込みます。
 void write(int c)
          単一文字を書き込みます。
 
クラス java.io.Writer から継承したメソッド
write, write, write
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ReplaceWriter

public ReplaceWriter(Writer out,
                     char[] oldChars)
文字列削除のためのストリームフィルタを作成します。
このインスタンスに書き込まれた文字データは部分文字列の削除を行いながら 基礎ストリームに書き込まれます。

パラメータ:
out - 基礎ストリーム
oldChars - 削除対象となる文字の配列

ReplaceWriter

public ReplaceWriter(Writer out,
                     String oldString)
文字列削除のためのストリームフィルタを作成します。
このインスタンスに書き込まれた文字データは部分文字列の削除を行いながら 基礎ストリームに書き込まれます。

パラメータ:
out - 基礎ストリーム
oldString - 削除対象となる文字列

ReplaceWriter

public ReplaceWriter(Writer out,
                     char[] oldChars,
                     char[] newChars)
文字列置換のためのストリームフィルタを作成します。
このインスタンスに書き込まれた文字データは適切な置換を行いながら 基礎ストリームに書き込まれます。

パラメータ:
out - 基礎ストリーム
oldChars - 置換対象となる文字の配列
newChars - 置換する文字の配列

ReplaceWriter

public ReplaceWriter(Writer out,
                     String oldString,
                     String newString)
文字列置換のためのストリームフィルタを作成します。

パラメータ:
out - 基礎ストリーム
oldString - 置換対象となる文字列
newString - 置換する文字列
メソッドの詳細

write

public void write(int c)
           throws IOException
単一文字を書き込みます。 書き込まれる文字は、指定された整数値の下位 16 ビットに格納されます。 上位 16 ビットは無視されます。

パラメータ:
c - 文字
例外:
IOException - 入出力エラーが発生した場合

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException
文字列の一部を基礎ストリームに書き込みます。

パラメータ:
cbuf - 文字の配列
off - 文字の書き込み開始オフセット
len - 書き込む文字数
例外:
IOException - 入出力エラーが発生した場合

finish

public void finish()
            throws IOException
バッファに保存してあるデータを書き出します。

ストリームがさまざまな write() メソッドからの文字をバッファに 保存してある場合、これらの文字を基礎ストリームへただちに 書き込みます。
このメソッドは、このストリームの持つ置換対象データと比較中の 文字データを含むすべてのバッファを基礎ストリームに書き込みます。 このメソッドを呼び出し後は、write() メソッドによって与えられる データを改めて検索し直します。この機能のより、このストリームフィルタの 複数のストリームでの再利用が可能となります。

このときストリームは閉じられません。 複数のフィルタを同じ出力ストリームに連続して適用するときに このメソッドを使用します。

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

flush

public void flush()
           throws IOException
ストリームをフラッシュします。

現在バッファに保存されているデータが置換対象の文字データと 比較途中である場合、比較中のデータはフラッシュされません。 このストリームの持つすべてのバッファをフラッシュするためには、 finish() メソッドを呼び出したあとにこのメソッドを呼び出して下さい。
宛先が別の文字またはバイトストリームの場合は、 この宛先をフラッシュします。つまり 1 つの flush() の呼び出しで、 関連する Writer および OutputStream のすべてのバッファを フラッシュします。

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

close

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

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

intra-mart(R)
5.0

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