JavaTM 2 Platform
Standard Ed. 5.0

java.io
クラス PrintWriter

java.lang.Object
  上位を拡張 java.io.Writer
      上位を拡張 java.io.PrintWriter
すべての実装されたインタフェース:
Closeable, Flushable, Appendable

public class PrintWriter
extends Writer

フォーマットされたオブジェクトの表現をテキスト出力ストリームに出力します。このクラスでは、PrintStream にある print メソッドをすべて実装しています。ただし、生のバイトを書き込むメソッドは含みません。このような場合は、エンコードされていないバイトストリームをプログラムで使用しなければなりません。

自動フラッシュが有効な場合は、PrintStream とは違い、改行文字を出力するときではなく、printlnprintf、または format メソッドの 1 つを呼び出したときにフラッシュが行われます。これらのメソッドでは、改行文字ではなく、そのプラットフォーム自体が持つ行区切り文字の表記を使用します。

このクラスのメソッドは、入出力例外をスローすることはありませんが、コンストラクタの中にはスローするものもあります。クライアントは、checkError() を呼び出すことによって、エラーが発生したかどうかを照会できます。

導入されたバージョン:
JDK1.1

フィールドの概要
protected  Writer out
          この PrintWriter の基本となる文字出力ストリームです。
 
クラス java.io.Writer から継承されたフィールド
lock
 
コンストラクタの概要
PrintWriter(File file)
          行の自動フラッシュは行わずに、指定のファイルで 新しい PrintWriter を作成します。
PrintWriter(File file, String csn)
          行の自動フラッシュは行わずに、指定のファイルと文字セットで 新しい PrintWriter を作成します。
PrintWriter(OutputStream out)
          行の自動フラッシュは行わずに、既存の OutputStream から新しい PrintWriter を作成します。
PrintWriter(OutputStream out, boolean autoFlush)
          既存の OutputStream から新しい PrintWriter を作成します。
PrintWriter(String fileName)
          行の自動フラッシュは行わずに、指定の名前で 新しい PrintWriter を作成します。
PrintWriter(String fileName, String csn)
          行の自動フラッシュは行わずに、指定の名前と文字セットで 新しい PrintWriter を作成します。
PrintWriter(Writer out)
          自動行フラッシュは行わずに、新しい PrintWriter を作成します。
PrintWriter(Writer out, boolean autoFlush)
          新しい PrintWriter を作成します。
 
メソッドの概要
 PrintWriter append(char c)
          このライターに指定された文字を追加します。
 PrintWriter append(CharSequence csq)
          このライターに指定された文字シーケンスを追加します。
 PrintWriter append(CharSequence csq, int start, int end)
          指定された文字シーケンスのサブシーケンスをこのライターに追加します。
 boolean checkError()
          ストリームが閉じていなければフラッシュし、そのエラーの状態をチェックします。
 void close()
          ストリームを閉じます。
 void flush()
          ストリームをフラッシュします。
 PrintWriter format(Locale l, String format, Object... args)
          書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込みます。
 PrintWriter format(String format, Object... args)
          書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込みます。
 void print(boolean b)
          boolean 値を出力します。
 void print(char c)
          文字を出力します。
 void print(char[] s)
          文字の配列を出力します。
 void print(double d)
          倍精度の浮動小数点の値を出力します。
 void print(float f)
          浮動小数点の値を出力します。
 void print(int i)
          整数を出力します。
 void print(long l)
          long 整数を出力します。
 void print(Object obj)
          オブジェクトを出力します。
 void print(String s)
          文字列を出力します。
 PrintWriter printf(Locale l, String format, Object... args)
          書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込む便利な方法です。
 PrintWriter printf(String format, Object... args)
          書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込む便利な方法です。
 void println()
          改行文字列を書き込むことによって、現在の行を改行します。
 void println(boolean x)
          boolean 値を出力して、行を終了します。
 void println(char x)
          文字を出力して、行を終了します。
 void println(char[] x)
          文字の配列を出力して、行を終了します。
 void println(double x)
          倍精度の浮動小数点数を出力して、行を改行します。
 void println(float x)
          浮動小数点数を出力して、行を改行します。
 void println(int x)
          整数を出力して、行を終了します。
 void println(long x)
          long 整数を出力して、行を終了します。
 void println(Object x)
          Object を出力して、行を終了します。
 void println(String x)
          String を出力して、行を終了します。
protected  void setError()
          エラーが発生したことを示します。
 void write(char[] buf)
          文字の配列を書き込みます。
 void write(char[] buf, int off, int len)
          文字の配列の一部を書き込みます。
 void write(int c)
          単一の文字を書き込みます。
 void write(String s)
          文字列を書き込みます。
 void write(String s, int off, int len)
          文字列の一部を書き込みます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

out

protected Writer out
この PrintWriter の基本となる文字出力ストリームです。

導入されたバージョン:
1.2
コンストラクタの詳細

PrintWriter

public PrintWriter(Writer out)
自動行フラッシュは行わずに、新しい PrintWriter を作成します。

パラメータ:
out - 文字出力ストリーム

PrintWriter

public PrintWriter(Writer out,
                   boolean autoFlush)
新しい PrintWriter を作成します。

パラメータ:
out - 文字出力ストリーム
autoFlush - boolean 値。値が true の場合、printlnprintf、または format メソッドでは出力バッファをフラッシュする

PrintWriter

public PrintWriter(OutputStream out)
行の自動フラッシュは行わずに、既存の OutputStream から新しい PrintWriter を作成します。このコンストラクタでは、必要な中間の OutputStreamWriter を作成します。これにより、デフォルトの文字セットを使って文字をバイトに変換します。

パラメータ:
out - 出力ストリーム
関連項目:
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)

PrintWriter

public PrintWriter(OutputStream out,
                   boolean autoFlush)
既存の OutputStream から新しい PrintWriter を作成します。この簡易コンストラクタでは、必要な中間の OutputStreamWriter を作成します。これにより、デフォルトの文字セットを使って文字をバイトに変換します。

パラメータ:
out - 出力ストリーム
autoFlush - boolean 値。値が true の場合、printlnprintf、または format メソッドでは出力バッファをフラッシュする
関連項目:
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)

PrintWriter

public PrintWriter(String fileName)
            throws FileNotFoundException
行の自動フラッシュは行わずに、指定の名前で 新しい PrintWriter を作成します。このコンストラクタでは、必要な中間の OutputStreamWriter を作成します。これにより、この Java 仮想マシンのこのインスタンスの default charset を使って文字をエンコードします。

パラメータ:
fileName - このライターの宛先として使用するファイルの名前。ファイルが存在する場合、サイズ 0 に切り捨てられる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファに格納される
例外:
FileNotFoundException - 指定の文字列が、既存の書き込み可能な普通のファイルを示さず、その名前を持つ普通のファイルを作成できない場合。またはファイルを開いているときや作成しているときに、その他のエラーが発生した場合
SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkWrite(fileName) メソッドがファイルへの書き込みアクセスを許可しない場合
導入されたバージョン:
1.5

PrintWriter

public PrintWriter(String fileName,
                   String csn)
            throws FileNotFoundException,
                   UnsupportedEncodingException
行の自動フラッシュは行わずに、指定の名前と文字セットで 新しい PrintWriter を作成します。このコンストラクタでは、必要な中間の OutputStreamWriter を作成します。これにより、指定の文字セットを使って文字をエンコードします。

パラメータ:
fileName - このライターの宛先として使用するファイルの名前。ファイルが存在する場合、サイズ 0 に切り捨てられる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファに格納される
csn - サポートする charset の名前
例外:
FileNotFoundException - 指定の文字列が、既存の書き込み可能な普通のファイルを示さず、その名前を持つ普通のファイルを作成できない場合。またはファイルを開いているときや作成しているときに、その他のエラーが発生した場合
SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkWrite(fileName) メソッドがファイルへの書き込みアクセスを許可しない場合
UnsupportedEncodingException - 指定された文字セットがサポートされていない場合
導入されたバージョン:
1.5

PrintWriter

public PrintWriter(File file)
            throws FileNotFoundException
行の自動フラッシュは行わずに、指定のファイルで 新しい PrintWriter を作成します。このコンストラクタでは、必要な中間の OutputStreamWriter を作成します。これにより、この Java 仮想マシンのこのインスタンスの default charset を使って文字をエンコードします。

パラメータ:
file - このライターの宛先として使用するファイル。ファイルが存在する場合、サイズ 0 に切り捨てられる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファに格納される
例外:
FileNotFoundException - 指定のファイルオブジェクトが、既存の書き込み可能な普通のファイルを示さず、その名前を持つ普通のファイルを作成できない場合。またはファイルを開いているときや作成しているときに、その他のエラーが発生した場合
SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkWrite(file.getPath()) メソッドがファイルへの書き込みアクセスを許可しない場合
導入されたバージョン:
1.5

PrintWriter

public PrintWriter(File file,
                   String csn)
            throws FileNotFoundException,
                   UnsupportedEncodingException
行の自動フラッシュは行わずに、指定のファイルと文字セットで 新しい PrintWriter を作成します。このコンストラクタでは、必要な中間の OutputStreamWriter を作成します。これにより、指定の文字セットを使って文字をエンコードします。

パラメータ:
file - このライターの宛先として使用するファイル。ファイルが存在する場合、サイズ 0 に切り捨てられる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファに格納される
csn - サポートする charset の名前
例外:
FileNotFoundException - 指定のファイルオブジェクトが、既存の書き込み可能な普通のファイルを示さず、その名前を持つ普通のファイルを作成できない場合。またはファイルを開いているときや作成しているときに、その他のエラーが発生した場合
SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkWrite(file.getPath()) メソッドがファイルへの書き込みアクセスを許可しない場合
UnsupportedEncodingException - 指定された文字セットがサポートされていない場合
導入されたバージョン:
1.5
メソッドの詳細

flush

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

定義:
インタフェース Flushable 内の flush
定義:
クラス Writer 内の flush
関連項目:
checkError()

close

public void close()
ストリームを閉じます。

定義:
インタフェース Closeable 内の close
定義:
クラス Writer 内の close
関連項目:
checkError()

checkError

public boolean checkError()
ストリームが閉じていなければフラッシュし、そのエラーの状態をチェックします。エラーは累積されます。ストリームがエラーを一度検出すると、このルーチンは、連続するすべての呼び出しで true を返し続けます。

戻り値:
基本となる出力ストリームで、またはフォーマット変換中に、出力ストリームがエラーを検出した場合は true

setError

protected void setError()
エラーが発生したことを示します。


write

public void write(int c)
単一の文字を書き込みます。

オーバーライド:
クラス Writer 内の write
パラメータ:
c - 書き込む文字を指定する int

write

public void write(char[] buf,
                  int off,
                  int len)
文字の配列の一部を書き込みます。

定義:
クラス Writer 内の write
パラメータ:
buf - 文字の配列
off - 文字の書き込み開始オフセット
len - 書き込む文字数

write

public void write(char[] buf)
文字の配列を書き込みます。入出力例外を抑制しなければならないので、このメソッドは、Writer クラスから継承することはできません。

オーバーライド:
クラス Writer 内の write
パラメータ:
buf - 書き込む文字の配列

write

public void write(String s,
                  int off,
                  int len)
文字列の一部を書き込みます。

オーバーライド:
クラス Writer 内の write
パラメータ:
s - 文字列
off - 文字の書き込み開始オフセット
len - 書き込む文字数

write

public void write(String s)
文字列を書き込みます。入出力例外を抑制しなければならないので、このメソッドは、Writer クラスから継承することはできません。

オーバーライド:
クラス Writer 内の write
パラメータ:
s - 書き込まれる文字列

print

public void print(boolean b)
boolean 値を出力します。String.valueOf(boolean) により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
b - 出力される boolean

print

public void print(char c)
文字を出力します。文字はプラットフォームのデフォルトの文字エンコーディングに従って 1 つ以上のバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
c - 出力される char

print

public void print(int i)
整数を出力します。String.valueOf(int) により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
i - 出力される int
関連項目:
Integer.toString(int)

print

public void print(long l)
long 整数を出力します。String.valueOf(long) により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
l - 出力される long
関連項目:
Long.toString(long)

print

public void print(float f)
浮動小数点の値を出力します。String.valueOf(float) により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
f - 出力される float
関連項目:
Float.toString(float)

print

public void print(double d)
倍精度の浮動小数点の値を出力します。String.valueOf(double) により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
d - 出力される double
関連項目:
Double.toString(double)

print

public void print(char[] s)
文字の配列を出力します。この文字の配列はプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
s - 出力される char の配列
例外:
NullPointerException - snull の場合

print

public void print(String s)
文字列を出力します。引数が null の場合は、"null" が出力されます。そうでない場合、文字列の各文字はプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
s - 出力される String

print

public void print(Object obj)
オブジェクトを出力します。String.valueOf(Object) メソッドにより作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、このバイトが write(int) メソッドとまったく同じ方法で書き込まれます。

パラメータ:
obj - 出力される Object
関連項目:
Object.toString()

println

public void println()
改行文字列を書き込むことによって、現在の行を改行します。この改行文字列はシステムの line.separator プロパティにより定義され、必ずしも単一の改行文字 ('\n') であるとは限りません。


println

public void println(boolean x)
boolean 値を出力して、行を終了します。このメソッドは、print(boolean) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される boolean

println

public void println(char x)
文字を出力して、行を終了します。このメソッドは、print(char) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される char

println

public void println(int x)
整数を出力して、行を終了します。このメソッドは、print(int) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される int

println

public void println(long x)
long 整数を出力して、行を終了します。このメソッドは、print(long) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される long

println

public void println(float x)
浮動小数点数を出力して、行を改行します。このメソッドは、print(float) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される float

println

public void println(double x)
倍精度の浮動小数点数を出力して、行を改行します。このメソッドは、print(double) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される double

println

public void println(char[] x)
文字の配列を出力して、行を終了します。このメソッドは、print(char[]) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される char の配列

println

public void println(String x)
String を出力して、行を終了します。このメソッドは、print(String) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される String

println

public void println(Object x)
Object を出力して、行を終了します。このメソッドは、#print(object) を呼び出してから println() を呼び出すのと同じように動作します。

パラメータ:
x - 出力される Object

printf

public PrintWriter printf(String format,
                          Object... args)
書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込む便利な方法です。自動フラッシュ有効な場合は、このメソッドの呼び出しは出力バッファをフラッシュします。

このメソッドを out.printf(format, args) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。


     out.format(format, args) 

パラメータ:
format - 「書式文字列の構文」で説明した書式文字列
args - 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大値は、『Java 仮想マシン仕様』で定義されている Java 配列の最大次元により制限される。null 引数での動作は、変換に応じて異なる
戻り値:
このライター
例外:
IllegalFormatException - 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に与えられた不適切な引数、あるいは他の不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照
NullPointerException - formatnull の場合
導入されたバージョン:
1.5

printf

public PrintWriter printf(Locale l,
                          String format,
                          Object... args)
書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込む便利な方法です。自動フラッシュ有効な場合は、このメソッドの呼び出しは出力バッファをフラッシュします。

このメソッドを out.printf(l, format, args) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。


     out.format(l, format, args) 

パラメータ:
l - 書式設定時に適用する localelnull の場合、地域対応は適用されない
format - 「書式文字列の構文」で説明した書式文字列
args - 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大値は、『Java 仮想マシン仕様』で定義されている Java 配列の最大次元により制限される。null 引数での動作は、変換に応じて異なる
戻り値:
このライター
例外:
IllegalFormatException - 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に与えられた不適切な引数、あるいは他の不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照
NullPointerException - formatnull の場合
導入されたバージョン:
1.5

format

public PrintWriter format(String format,
                          Object... args)
書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込みます。自動フラッシュ有効な場合は、このメソッドの呼び出しは出力バッファをフラッシュします。

常に使用されるロケールは、このオブジェクトのその他の書式化メソッドのこれまでの呼び出しに関係なく、Locale.getDefault() により返されるロケールです。

パラメータ:
format - 「書式文字列の構文」で説明した書式文字列
args - 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大値は、『Java 仮想マシン仕様』で定義されている Java 配列の最大次元により制限される。null 引数での動作は、変換に応じて異なる
戻り値:
このライター
例外:
IllegalFormatException - 書式文字列が、不正な構文、所定の引数と互換性のない書式指示子、書式文字列に与えられた不適切な引数、あるいは他の不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照
NullPointerException - formatnull の場合
導入されたバージョン:
1.5

format

public PrintWriter format(Locale l,
                          String format,
                          Object... args)
書式付き文字列を、指定された書式文字列と引数を使用し、このライターに書き込みます。自動フラッシュ有効な場合は、このメソッドの呼び出しは出力バッファをフラッシュします。

パラメータ:
l - 書式設定時に適用するlocalelnull の場合、地域対応は適用されない
format - 「書式文字列の構文」で説明した書式文字列
args - 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大値は、『Java 仮想マシン仕様』で定義されている Java 配列の最大次元により制限される。null 引数での動作は、変換に応じて異なる
戻り値:
このライター
例外:
IllegalFormatException - 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に与えられた不適切な引数、あるいは他の不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照
NullPointerException - formatnull の場合
導入されたバージョン:
1.5

append

public PrintWriter append(CharSequence csq)
このライターに指定された文字シーケンスを追加します。

このメソッドを out.append(csq) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。


     out.write(csq.toString()) 

文字シーケンス csq に対する toString の指定に応じて、シーケンス全体が追加されないこともあります。たとえば、文字バッファの toString を呼び出すと、内容がバッファの位置とリミットに依存するサブシーケンスが返されます。

定義:
インタフェース Appendable 内の append
オーバーライド:
クラス Writer 内の append
パラメータ:
csq - 追加される文字シーケンス。csqnull の場合は、このライターに「null」という 4 文字が追加される
戻り値:
このライター
導入されたバージョン:
1.5

append

public PrintWriter append(CharSequence csq,
                          int start,
                          int end)
指定された文字シーケンスのサブシーケンスをこのライターに追加します。

csqnull ではないときに、このメソッドを out.append(csq, start, end) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。


     out.write(csq.subSequence(start, end).toString()) 

定義:
インタフェース Appendable 内の append
オーバーライド:
クラス Writer 内の append
パラメータ:
csq - サブシーケンスの追加元の文字シーケンス。csqnull であれば、文字は csq に「null」という 4 文字が含まれているかのように追加される
start - サブシーケンスの最初の文字のインデックス
end - サブシーケンスの最後の文字のあとに続く文字のインデックス
戻り値:
このライター
例外:
IndexOutOfBoundsException - start または end が負の値の場合、startend より大きい場合、あるいは endcsq.length() より大きい場合
導入されたバージョン:
1.5

append

public PrintWriter append(char c)
このライターに指定された文字を追加します。

このメソッドを out.append(c) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。


     out.write(c) 

定義:
インタフェース Appendable 内の append
オーバーライド:
クラス Writer 内の append
パラメータ:
c - 追加される 16 ビットの文字
戻り値:
このライター
導入されたバージョン:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。