public class PrintStream extends FilterOutputStream implements Appendable, Closeable
PrintStream
は、ほかの出力ストリームに機能、具体的には、さまざまなデータ値の表現を簡易的に出力する機能を追加します。同様に、ほかの 2 つの機能も提供されています。PrintStream
はほかの出力ストリームとは違って、IOException
をスローすることはありません。例外的な状況では、単に内部フラグが設定されるだけです。このフラグの状態は、checkError
メソッドで調べることができます。必要に応じて、PrintStream
を自動的にフラッシュするように作成できます。つまり、バイト配列が書き込まれたか、println
メソッドの 1 つが呼び出されたか、または改行文字またはバイト ('\n'
) が書き込まれたあとに、flush
メソッドが自動的に呼び出されます。
PrintStream
が出力したすべての文字は、プラットフォームのデフォルトの文字エンコーディングを使ってバイトに変換されます。
クラスは、バイトではなく文字を書き込むことが必要な状況で使用されます。PrintWriter
out
コンストラクタと説明 |
---|
PrintStream(File file)
行の自動フラッシュは行わずに、指定のファイルで新しい出力ストリームを作成します。
|
PrintStream(File file, String csn)
行の自動フラッシュは行わずに、指定のファイルと文字セットで 新しい出力ストリームを作成します。
|
PrintStream(OutputStream out)
新しい PrintStream を作成します。
|
PrintStream(OutputStream out, boolean autoFlush)
新しい PrintStream を作成します。
|
PrintStream(OutputStream out, boolean autoFlush, String encoding)
新しい PrintStream を作成します。
|
PrintStream(String fileName)
行の自動フラッシュは行わずに、指定の名前で新しい出力ストリームを作成します。
|
PrintStream(String fileName, String csn)
行の自動フラッシュは行わずに、指定の名前と文字セットで 新しい出力ストリームを作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
PrintStream |
append(char c)
この出力ストリームに指定された文字を追加します。
|
PrintStream |
append(CharSequence csq)
この出力ストリームに指定された文字シーケンスを追加します。
|
PrintStream |
append(CharSequence csq, int start, int end)
指定された文字シーケンスのサブシーケンスをこの出力ストリームに追加します。
|
boolean |
checkError()
ストリームをフラッシュし、そのエラー状況を確認します。
|
protected void |
clearError()
このストリームの内部エラー状態を解除します。
|
void |
close()
ストリームを閉じます。
|
void |
flush()
ストリームをフラッシュします。
|
PrintStream |
format(Locale l, String format, Object... args)
指定された書式文字列および引数を使用して、書式付き文字列をこの出力ストリームの宛先に書き込みます。
|
PrintStream |
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)
文字列を出力します。
|
PrintStream |
printf(Locale l, String format, Object... args)
書式付き文字列を、指定された書式文字列と引数を使用し、この出力ストリームに書き込む便利な方法です。
|
PrintStream |
printf(String format, Object... args)
書式付き文字列を、指定された書式文字列と引数を使用し、この出力ストリームに書き込む便利な方法です。
|
void |
println()
行の区切り文字列を書き込むことで、現在の行を終了させます。
|
void |
println(boolean x)
boolean 値を出力して、行を終了します。
|
void |
println(char x)
文字を出力して、行を終了します。
|
void |
println(char[] x)
文字の配列を出力して、行を終了します。
|
void |
println(double x)
double を出力して、行を終了します。
|
void |
println(float x)
float を出力して、行を終了します。
|
void |
println(int x)
整数を出力して、行を終了します。
|
void |
println(long x)
long を出力して、行を終了します。
|
void |
println(Object x)
Object を出力して、行を終了します。
|
void |
println(String x)
String を出力して、行を終了します。
|
protected void |
setError()
ストリームのエラー状態を
true に設定します。 |
void |
write(byte[] buf, int off, int len)
指定されたバイト配列のオフセット位置
off から始まる len バイトをこのストリームに書き込みます。 |
void |
write(int b)
指定されたバイトを、このストリームに書き込みます。
|
write
public PrintStream(OutputStream out)
out
- 値とオブジェクトが出力される出力ストリームPrintWriter.PrintWriter(java.io.OutputStream)
public PrintStream(OutputStream out, boolean autoFlush)
out
- 値とオブジェクトが出力される出力ストリームautoFlush
- boolean 値。true の場合、バイト配列が書き込まれたとき、println
メソッドの 1 つが呼び出されたとき、あるいは改行文字またはバイト ('\n'
) が書き込まれたときに必ず出力バッファーがフラッシュされるPrintWriter.PrintWriter(java.io.OutputStream, boolean)
public PrintStream(OutputStream out, boolean autoFlush, String encoding) throws UnsupportedEncodingException
out
- 値とオブジェクトが出力される出力ストリームautoFlush
- boolean 値。true の場合、バイト配列が書き込まれたとき、println
メソッドの 1 つが呼び出されたとき、あるいは改行文字またはバイト ('\n'
) が書き込まれたときに必ず出力バッファーがフラッシュされるencoding
- サポートされる文字エンコーディングの名前UnsupportedEncodingException
- 指定されたエンコーディングがサポートされていない場合public PrintStream(String fileName) throws FileNotFoundException
OutputStreamWriter
を作成します。これは、この Java 仮想マシンインスタンスのデフォルト文字セットを使用して、文字をエンコードします。fileName
- この出力ストリームの宛先として使用するファイルの名前。ファイルが存在する場合、サイズ 0 に切り詰められる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファーに格納される。FileNotFoundException
- 指定されたファイルオブジェクトが既存のファイルを示さない場合、書き込み可能な通常ファイルおよび新規の通常ファイルがその名前で作成できない場合、またはファイルのオープンまたは作成中にその他のエラーが発生した場合SecurityException
- セキュリティーマネージャーが存在し、checkWrite(fileName)
がファイルへの書き込みアクセスを拒否した場合public PrintStream(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter
を作成します。これは、提供された文字セットを使用して文字をエンコードします。fileName
- この出力ストリームの宛先として使用するファイルの名前。ファイルが存在する場合、サイズ 0 に切り詰められる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファーに格納される。csn
- サポートされている charset の名前FileNotFoundException
- 指定されたファイルオブジェクトが既存のファイルを示さない場合、書き込み可能な通常ファイルおよび新規の通常ファイルがその名前で作成できない場合、またはファイルのオープンまたは作成中にその他のエラーが発生した場合SecurityException
- セキュリティーマネージャーが存在し、checkWrite(fileName)
がファイルへの書き込みアクセスを拒否した場合UnsupportedEncodingException
- 指定された文字セットがサポートされていない場合public PrintStream(File file) throws FileNotFoundException
OutputStreamWriter
を作成します。これは、この Java 仮想マシンインスタンスのデフォルト文字セットを使用して、文字をエンコードします。file
- この出力ストリームの宛先として使用するファイル。ファイルが存在する場合、サイズ 0 に切り詰められる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファーに格納される。FileNotFoundException
- 指定されたファイルオブジェクトが既存のファイルを示さない場合、書き込み可能な通常ファイルおよび新規の通常ファイルがその名前で作成できない場合、またはファイルのオープンまたは作成中にその他のエラーが発生した場合SecurityException
- セキュリティーマネージャーが存在し、checkWrite(file.getPath())
がファイルへの書き込みアクセスを拒否した場合public PrintStream(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter
を作成します。これは、提供された文字セットを使用して文字をエンコードします。file
- この出力ストリームの宛先として使用するファイル。ファイルが存在する場合、サイズ 0 に切り詰められる。ファイルがなければ新しいファイルが作成される。出力はファイルに書き込まれ、バッファーに格納される。csn
- サポートされている charset の名前FileNotFoundException
- 指定されたファイルオブジェクトが既存のファイルを示さない場合、書き込み可能な通常ファイルおよび新規の通常ファイルがその名前で作成できない場合、またはファイルのオープンまたは作成中にその他のエラーが発生した場合SecurityException
- セキュリティーマネージャーが存在し、checkWrite(file.getPath())
がファイルへの書き込みアクセスを拒否した場合UnsupportedEncodingException
- 指定された文字セットがサポートされていない場合public void flush()
flush
、インタフェース: Flushable
flush
、クラス: FilterOutputStream
OutputStream.flush()
public void close()
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、クラス: FilterOutputStream
OutputStream.close()
public boolean checkError()
InterruptedIOException
ではなく IOException
をスローした場合、および setError
メソッドが呼び出された場合に、内部エラー状態は true
に設定されます。ベースとなる出力ストリームのオペレーションが InterruptedIOException
をスローすると、PrintStream
が次の操作またはそれに相当する操作によって例外を変換して割り込みに戻します。
Thread.currentThread().interrupt();または同等のもの。
InterruptedIOException
以外の IOException
が発生した場合、または setError
メソッドが呼び出された場合は true
protected void setError()
true
に設定します。
このメソッドを使用すると、clearError()
が呼び出されるまで、checkError()
の以降の呼び出しでは true が返されます。
protected void clearError()
このメソッドを使用すると、別の書き込み操作が失敗して、setError()
が呼び出されるまで、checkError()
の以降の呼び出しでは false が返されます。
public void write(int b)
flush
メソッドが呼び出されます。
バイトは、指定されたまま書き込まれることに注意してください。プラットフォームのデフォルトの文字エンコーディングに従って変換された文字を書き込むには、print(char)
または println(char)
メソッドを使用します。
write
、クラス: FilterOutputStream
b
- 書き込まれるバイトprint(char)
, println(char)
public void write(byte[] buf, int off, int len)
off
から始まる len
バイトをこのストリームに書き込みます。自動フラッシュが有効な場合は、flush
メソッドが呼び出されます。
バイトは、指定されたまま書き込まれます。プラットフォームのデフォルトの文字エンコーディングに従って変換された文字列を書き込むには、print(char)
メッソドまたは println(char)
メソッドを使用します。
write
、クラス: FilterOutputStream
buf
- バイト配列off
- バイトの取り込み開始オフセットlen
- 書き込むバイト数FilterOutputStream.write(int)
public void print(boolean b)
String.valueOf(boolean)
により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。b
- 出力される boolean
値public void print(char c)
write(int)
メソッドとまったく同じ方法で書き込まれます。c
- 出力される char
値public void print(int i)
String.valueOf(int)
により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。i
- 出力される int
値Integer.toString(int)
public void print(long l)
String.valueOf(long)
により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。l
- 出力される long
値Long.toString(long)
public void print(float f)
String.valueOf(float)
により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。f
- 出力される float
値Float.toString(float)
public void print(double d)
String.valueOf(double)
により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。d
- 出力される double
値Double.toString(double)
public void print(char[] s)
write(int)
メソッドとまったく同じ方法で書き込まれます。s
- 出力される char の配列NullPointerException
- s
が null
である場合public void print(String s)
null
の場合は、文字列 "null"
が出力されます。それ以外の場合、文字列の文字はプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。s
- 出力される String
値public void print(Object obj)
String.valueOf(Object)
により作成された文字列は、プラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトは write(int)
メソッドとまったく同じ方法で書き込まれます。obj
- 出力される Object
値Object.toString()
public void println()
line.separator
で定義され、必ずしも単一の改行文字 ('\n'
) であるとは限りません。public void println(boolean x)
print(boolean)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される boolean
値public void println(char x)
print(char)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される char
値。public void println(int x)
print(int)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される int
値。public void println(long x)
print(long)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される long
値。public void println(float x)
print(float)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される float
値。public void println(double x)
print(double)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される double
値。public void println(char[] x)
print(char[])
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される char の配列。public void println(String x)
print(String)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される String
値。public void println(Object x)
print(String)
を呼び出してから println()
を呼び出すのと同じように動作します。x
- 出力される Object
値。public PrintStream printf(String format, Object... args)
このメソッドを out.printf(format, args) の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。
out.format(format, args)
format
- 「書式文字列の構文」で説明した書式文字列args
- 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大数は、Java™ 仮想マシン仕様で定義されている Java 配列の最大次元により制限される。引数が null の場合、動作は変換に応じて異なる。IllegalFormatException
- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照。NullPointerException
- format が null である場合public PrintStream printf(Locale l, String format, Object... args)
このメソッドを out.printf(l, format, args) の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。
out.format(l, format, args)
l
- 書式設定時に適用する locale。l が null の場合、ローカリゼーションは適用されない。format
- 「書式文字列の構文」で説明した書式文字列args
- 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大数は、Java™ 仮想マシン仕様で定義されている Java 配列の最大次元により制限される。引数が null の場合、動作は変換に応じて異なる。IllegalFormatException
- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照。NullPointerException
- format が null である場合public PrintStream format(String format, Object... args)
このオブジェクトに対して別の書式設定メソッドが先に呼び出されていたかどうかにかかわらず、Locale.getDefault()
により返されるロケールが常に使用されます。
format
- 「書式文字列の構文」で説明した書式文字列args
- 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大数は、Java™ 仮想マシン仕様で定義されている Java 配列の最大次元により制限される。引数が null の場合、動作は変換に応じて異なる。IllegalFormatException
- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照。NullPointerException
- format が null である場合public PrintStream format(Locale l, String format, Object... args)
l
- 書式設定時に適用する locale。l が null の場合、ローカリゼーションは適用されない。format
- 「書式文字列の構文」で説明した書式文字列args
- 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大数は、Java™ 仮想マシン仕様で定義されている Java 配列の最大次元により制限される。引数が null の場合、動作は変換に応じて異なる。IllegalFormatException
- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタクラス仕様の「詳細」セクションを参照。NullPointerException
- format が null である場合public PrintStream append(CharSequence csq)
このメソッドを out.append(csq) の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。
out.print(csq.toString())
文字シーケンス csq に対する toString の指定に応じて、シーケンス全体が追加されないこともあります。たとえば、文字バッファーの toString メソッドを呼び出した場合、返されるサブシーケンスの内容はそのバッファーの位置とリミットによって決まります。
append
、インタフェース: Appendable
csq
- 追加する文字シーケンス。csq が null の場合は、この出力ストリームに「null」という 4 文字が追加される。public PrintStream append(CharSequence csq, int start, int end)
csq が null でないときに、このメソッドを out.append(csq, start, end) の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。
out.print(csq.subSequence(start, end).toString())
append
、インタフェース: Appendable
csq
- サブシーケンスの追加元の文字シーケンス。csq が null の場合は、csq に「null」という 4 文字が含まれているかのように文字が追加される。start
- サブシーケンスの最初の文字のインデックスend
- サブシーケンスの最後の文字のあとに続く文字のインデックスIndexOutOfBoundsException
- start または end が負の値の場合、start が end よりも大きい場合、あるいは end が csq.length() よりも大きい場合public PrintStream append(char c)
このメソッドを out.append(c) の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。
out.print(c)
append
、インタフェース: Appendable
c
- 追加する 16 ビット文字 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.