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(tm)仮想マシン仕様で定義されている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(tm)仮想マシン仕様で定義されているJava配列の最大次元により制限される。引数がnullの場合、動作は変換に応じて異なる。IllegalFormatException
- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタ・クラス仕様の「詳細」セクションを参照。NullPointerException
- formatがnullである場合public PrintStream format(String format, Object... args)
このオブジェクトに対して別の書式設定メソッドが先に呼び出されていたかどうかにかかわらず、Locale.getDefault()
により返されるロケールが常に使用されます。
format
- 「書式文字列の構文」で説明した書式文字列args
- 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大数は、Java(tm)仮想マシン仕様で定義されているJava配列の最大次元により制限される。引数がnullの場合、動作は変換に応じて異なる。IllegalFormatException
- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。考えられるすべての書式エラーの仕様については、フォーマッタ・クラス仕様の「詳細」セクションを参照。NullPointerException
- formatがnullである場合public PrintStream format(Locale l, String format, Object... args)
l
- 書式設定時に適用するlocale。lがnullの場合、ローカリゼーションは適用されない。format
- 「書式文字列の構文」で説明した書式文字列args
- 書式文字列の書式指示子により参照される引数。書式指示子よりも引数が多い場合、余分な引数は無視される。引数の数は変動し、ゼロの場合もある。引数の最大数は、Java(tm)仮想マシン仕様で定義されている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, 2014, Oracle and/or its affiliates. All rights reserved.