Previous | Next | Trail Map | Writing Java Programs | システム資源の使用


標準入出力ストリーム

標準入出力の概念は Java 環境に同化したCライブラリの概念である。 java.lang.System クラスによりすべてが管理される3つの標準ストリームがある。

標準入力 − System.in により参照
プログラム入力のために使用し、一般にユーザによる入力を読み込む。
標準出力 − System.out により参照
プログラム出力のために使用し、一般にユーザに情報を表示する。
標準エラー − System.err により参照
ユーザにエラーメッセージを表示するために使用する。

標準入力

System クラスは、テキストを読み込むストリーム − 標準入力ストリーム − を提供する。 Java 言語のナットとボルトでのプログラム例は、ユーザが入力した文字数をカウントするために標準入力を使用する。 標準入力についての解説については、 標準入出力ストリーム(in the Writing Java Programs trail)を参照のこと。

標準出力とエラーストリーム

恐らく System クラスからもっともよく使用される項目は、ユーザの端末ウィンドウにテキストを書き出すために使用する標準出力と標準エラーである。

一般に標準出力は、コマンド出力、すなわちユーザにコマンドの結果を出力するために使用する。 標準エラーは、プログラムが実行している時に発生する任意のエラーを出力するために一般に使用する。異なるストリームにプログラムの出力とエラーを出力することにより、ユーザはそれらを異なる位置に別々に置くことができる。

print() 、 println()、write() メソッド

標準出力と標準エラーは PrintStream クラスから生じる。 print() println() 、および write() の、ストリームにテキストを出力する PrintStream の3つのメソッドのうちの1つを使用する。

print() println() メソッドは本質的に同じである。それらは共に ストリームにString 引数を書き込む。 2つのメソッドの相違は、 println() は出力の最後に改行文字を追加するが、 print() はしない点である。 換言すれば、

System.out.print("Duke is not a penguin!¥n");

上記は以下と等しい。

System.out.println("Duke is not a penguin!");

最初のメソッド呼び出しに余分な ¥n があることに注意する。それは復帰改行文字を示す2文字のコードである。 println() は自動的に復帰改行文字を出力に追加する。

write() メソッドは、 print() メソッドより使用されず、ストリームにバイトを書き込むために使用する。 ASCII 以外のデータを書き込むためには、 write() を使用する。

print() と println() への引数

print() println() メソッドは共にひとつの引数を取る。 Java 言語ではメソッドをオーバーロードすることができるので、引数は次のデータ型のいずれかになることがある。 Object 、 String 、 char[]、int 、 long 、 float 、double 、boolean 。 さらに、引数を取らなくて、ストリームに復帰改行を出力する println() の特別な使い方もある。

異なるデータ型のオブジェクトの出力

次のプログラムは、標準出力に種々の型のデータを出力するために println() を使用する。

class DataTypePrintTest {
    public static void main(String args[]) {

        Thread ObjectData = new Thread();
        String StringData = "Java Mania";
        char CharArrayData[] = { 'a', 'b', 'c' };
        int IntegerData = 4;
        long LongData = Long.MIN_VALUE;
        float FloatData = Float.MAX_VALUE;
        double DoubleData = Math.PI;
        boolean BooleanData = true;

        System.out.println("object = " + ObjectData);
        System.out.println("string = " + StringData);
        System.out.println("character array = " + CharArrayData);
        System.out.println("integer = " + IntegerData);
        System.out.println("long = " + LongData);
        System.out.println("float = " + FloatData);
        System.out.println("double = " + DoubleData);
        System.out.println("boolean = " + BooleanData);
    }
}

上記に表示したプログラムは以下を出力する。

object = Thread[Thread-4,5,main]
string = Java Mania
character array = abc
integer = 4
long = -9223372036854775808
float = 3.40282e+38
double = 3.14159
boolean = true

オブジェクトを出力できることに注意すること。最初の println() メソッド呼び出しは Thread オブジェクトを出力し、2番目は String オブジェクトを出力する。 オブジェクトを出力するために print() あるいは println() を使用する時は、出力するデータはオブジェクトの型に依存する。 例では、 String オブジェクトを出力すると String のコンテンツをもたらす。 しかし、 Thread を出力すると次の形式の文字列をもたらす。

ThreadClass[name,priority,group]

参照

java.io.PrintStream
入出力ストリーム


Previous | Next | Trail Map | Writing Java Programs | システム資源の使用