public abstract class hiAbstractPrintWriter extends PrintWriter
独自のPrintWriterを作成するためのクラスです。
派生クラスでoutput(String)
メソッドを記述することにより、
独自のPrintWriterを作成できます。
例えば次のクラスは、与えられたStringBuilderに文字列を構築していく
PrintWriterとなります。
import otsu.hiNote.hiAbstractPrintWriter; public class SBwriter extends hiAbstractPrintWriter{ StringBuilder sb; public SBwriter(StringBuilder sb_){ sb=sb_; } protected void output(String text_){ sb.append(text_); } } // 利用者側の記述例 StringBuilder sb = new StringBuilder(); SBwriter sbw= new SBwriter(sb); sbw.println("適当な文字列"); sbw.printf("適当な値 %3d %f\n",100,4.5f); String text=sb.toString();
スレッドセーフです。フラッシュ前の文字列はスレッドごとに管理されます。 フラッシュしないままためられる文字数には制限があり、 setBufferLen()/getBufferLen()で設定/取得できます。デフォルトは50000文字です。
コンストラクタと説明 |
---|
hiAbstractPrintWriter() |
修飾子とタイプ | メソッドと説明 |
---|---|
PrintWriter |
append(char c_)
/**
文字を追加する.
|
PrintWriter |
append(CharSequence csq_)
文字シーケンスを追加する.
|
PrintWriter |
append(CharSequence csq_,
int start_,
int end_)
文字シーケンスを追加する.
|
void |
cancelMode(int flag_)
モード変更(hiU.AUTO_FLUSHのみ).
|
boolean |
checkError()
登録ストリームのエラーチェックを呼ぶ.
|
void |
close()
クローズする
|
void |
flush_for_newLine()
最後の改行までフラッシュする
|
void |
flush()
フラッシュする
|
PrintWriter |
format(Locale l_,
String format_,
Object... args_)
指定フォーマット出力を行う
|
PrintWriter |
format(String format_,
Object... args_)
指定フォーマット出力を行う
|
int |
getBufferLen()
フラッシュしないまま保持できる文字数取得.
|
void |
print(boolean b_)
データ文字列出力を行う
|
void |
print(char c_)
データ文字列出力を行う
|
void |
print(char[] s_)
データ文字列出力を行う
|
void |
print(double d_)
データ文字列出力を行う
|
void |
print(float f_)
データ文字列出力を行う
|
void |
print(int i_)
データ文字列出力を行う
|
void |
print(long l_)
データ文字列出力を行う
|
void |
print(Object o_)
データ文字列出力を行う
|
void |
print(String s_)
データ文字列出力を行う
|
PrintWriter |
printf(Locale l_,
String format_,
Object... args_)
指定フォーマット出力を行う.
|
PrintWriter |
printf(String format_,
Object... args_)
指定フォーマット出力を行う
format(String,Object...) と同じです
|
void |
println()
改行する
|
void |
println(boolean b_)
改行付きでデータ文字列出力を行う
|
void |
println(char c_)
改行付きでデータ文字列出力を行う
|
void |
println(char[] s_)
改行付きでデータ文字列出力を行う
|
void |
println(double d_)
改行付きでデータ文字列出力を行う
|
void |
println(float f_)
改行付きでデータ文字列出力を行う
|
void |
println(int i_)
改行付きでデータ文字列出力を行う
|
void |
println(long l_)
改行付きでデータ文字列出力を行う
|
void |
println(Object o_)
改行付きでデータ文字列出力を行う
|
void |
println(String s_)
改行付きでデータ文字列出力を行う
|
void |
setBufferLen(int len_)
フラッシュしないまま保持できる文字数設定.
|
void |
setMode(int flag_)
モード変更(hiU.AUTO_FLUSHのみ).
|
void |
write(char[] s_)
文字列を出力する
|
void |
write(char[] s_,
int off_,
int len_)
改行付きでデータ文字列出力を行う
|
void |
write(int c_)
文字出力を行う
|
void |
write(String s_)
文字列出力を行う
|
void |
write(String s_,
int off_,
int len_)
文字列出力を行う
|
public void setMode(int flag_)
動作モードを変更します。
現版ではhiU.AUTO_FLUSHを指定してオートフラッシュモードにすることのみできます。
printer.setMode(hiU.AUTO_FLUSH);
オートフラッシュモードでは改行が来るたびにflushされます。
オートフラッシュモードでない場合は、flush()またはprintln()でのみ
フラッシュされます。
flag_
- hiU.AUTO_FLUSHのみ有効public void cancelMode(int flag_)
動作モードを変更します。
現版ではhiU.AUTO_FLUSHを指定してオートフラッシュモードをキャンセルすることのみできます。
printer.cancelMode(hiU.AUTO_FLUSH);
flag_
- hiU.AUTO_FLUSHのみ有効public void setBufferLen(int len_)
len_
- 設定する長さpublic int getBufferLen()
public void flush_for_newLine()
public void flush()
flush
インタフェース内 Flushable
flush
クラス内 PrintWriter
public void close()
close
インタフェース内 Closeable
close
インタフェース内 AutoCloseable
close
クラス内 PrintWriter
public PrintWriter append(char c_)
append
インタフェース内 Appendable
append
クラス内 PrintWriter
c_
- 文字public PrintWriter append(CharSequence csq_)
append
インタフェース内 Appendable
append
クラス内 PrintWriter
csq_
- 文字シーケンスpublic PrintWriter append(CharSequence csq_, int start_, int end_)
append
インタフェース内 Appendable
append
クラス内 PrintWriter
csq_
- 文字シーケンスstart_
- 開始位置end_
- 終了位置+1(長さでないことに注意)public boolean checkError()
フラッシュしエラーの有無をチェックします。
checkError
クラス内 PrintWriter
public PrintWriter format(Locale l_, String format_, Object... args_)
format
クラス内 PrintWriter
l_
- 地域情報format_
- フォーマットargs_
- フォーマットに対応した引数public PrintWriter format(String format_, Object... args_)
format
クラス内 PrintWriter
format_
- フォーマットargs_
- フォーマットに対応した引数public void print(boolean b_)
print
クラス内 PrintWriter
b_
- データpublic void print(char c_)
print
クラス内 PrintWriter
c_
- データpublic void print(char[] s_)
print
クラス内 PrintWriter
s_
- データpublic void print(double d_)
print
クラス内 PrintWriter
d_
- データpublic void print(float f_)
print
クラス内 PrintWriter
f_
- データpublic void print(int i_)
print
クラス内 PrintWriter
i_
- データpublic void print(long l_)
print
クラス内 PrintWriter
l_
- データpublic void print(Object o_)
print
クラス内 PrintWriter
o_
- データpublic void print(String s_)
print
クラス内 PrintWriter
s_
- データpublic PrintWriter printf(Locale l_, String format_, Object... args_)
printf
クラス内 PrintWriter
l_
- 地域情報format_
- フォーマットargs_
- フォーマットに対応した引数public PrintWriter printf(String format_, Object... args_)
printf
クラス内 PrintWriter
format_
- フォーマットargs_
- フォーマットに対応した引数public void println()
println
クラス内 PrintWriter
public void println(boolean b_)
println
クラス内 PrintWriter
b_
- データpublic void println(char c_)
println
クラス内 PrintWriter
c_
- データpublic void println(char[] s_)
println
クラス内 PrintWriter
s_
- データpublic void println(double d_)
println
クラス内 PrintWriter
d_
- データpublic void println(float f_)
println
クラス内 PrintWriter
f_
- データpublic void println(int i_)
println
クラス内 PrintWriter
i_
- データpublic void println(long l_)
println
クラス内 PrintWriter
l_
- データpublic void println(Object o_)
println
クラス内 PrintWriter
o_
- データpublic void println(String s_)
println
クラス内 PrintWriter
s_
- データpublic void write(char[] s_)
write
クラス内 PrintWriter
s_
- データpublic void write(char[] s_, int off_, int len_)
write
クラス内 PrintWriter
s_
- 文字の並びoff_
- 開始位置len_
- 長さ(終了位置ではないことに注意)public void write(int c_)
write
クラス内 PrintWriter
c_
- 文字データ(数値ではないことに注意)public void write(String s_)
write
クラス内 PrintWriter
s_
- 文字列public void write(String s_, int off_, int len_)
write
クラス内 PrintWriter
s_
- 文字列off_
- 開始位置len_
- 長さ(終了位置ではないことに注意)