標準入出力

標準入出力としてキーボード入力と画面出力をみていきます。Javaでは、入出力関連のクラスは「java.io」パッケージにまとめられています。


標準入力

標準入力(キーボード入力)する為に次のクラスを使用します。

標準入力クラス構成
標準入力クラス一覧(各クラスの詳細はJDK API仕様を参照してください。)
クラス名 概要
InputStream バイト単位での「入力ストリーム」処理を行う全てのスーパークラスです。このクラスは抽象メソッド「read()」をもつ抽象クラスになっています。
InputStreamReader バイト単位の入力ストリームを指定された文字エンコードを元に文字ストリームへ変換します。
BufferedReader 文字型入力ストリームに対してバッファリングして、より効率的に読み込み処理を行います。

※「ストリーム」とは「データの流れ」を表現する用語です。


標準入力への設定(「InputStream」インスタンス生成)

通常、標準入力用の「InputStream」インスタンスを独自に生成することはありません。Javaの標準APIである「System」クラスのstaticメンバー変数(in)に用意されていますのでこれを使用します。

InputStream System.in

標準入力の使用例

・サンプルソース(Sample1501.java)

import java.io.*;

class Sample1501 {
    public static void main(String args[]) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("なんか入力してください。");
        String s = new String(in.readLine());
        System.out.println("入力値は「" + s + "」です。");
    }
}

・実行結果

C:\dev\java>javac Sample1501.java [Enter]

C:\dev\java>java Sample1501 [Enter]
なんか入力してください。
abc [Enter]
入力値は「abc」です。
        

▲PageTop

標準出力

標準出力(画面出力)する為に次のクラスを使用します。

標準出力クラス構成
標準出力クラス一覧(各クラスの詳細はJDK API仕様を参照してください。)
クラス名 処理
PrintStream プラットフォームのデフォルト文字セットを使用してバイトに変換し、出力ストリームへ出力するクラスです。よく使用される「System.out.println()」のprintlnメソッドはこのクラスが提供しています。

標準出力への設定(「PrintStream」インスタンス生成)

通常、標準出力用の「PrintStream」インスタンスを独自に生成することはありません。Javaの標準APIである「System」クラスのstaticメンバー変数(out)に用意されていますのでこれを使用します。

PrintStream System.out

標準出力の使用例

・サンプルソース(Sample1502.java)

public class Sample1502 {
    public static void main(String[] args) {
        System.out.println("「println」メソッドは出力後改行します。");
        System.out.print("「print」メソッドは出力後改行しません。");
        System.out.print("System.getProperty(\"line.separator\")で改行!" + System.getProperty("line.separator"));
        String str = "バージョン1.5";
        System.out.printf("%sからフォーマット指定ができるC言語ライクな「printf」メソッドが追加されました。\n",str);
        System.out.format("同じく%sからフォーマット指定可能な「format」メソッドが追加されました。",str);
    }
}

・実行結果

C:\dev\java>javac Sample1502.java [Enter]

C:\dev\java>java Sample1502 [Enter]
「println」メソッドは出力後改行します。
「print」メソッドは出力後改行しません。System.getProperty("line.separator")で改行!
バージョン1.5からフォーマット指定ができるC言語ライクな「printf」メソッドが追加されました。
同じくバージョン1.5からフォーマット指定可能な「format」メソッドが追加されました。
        

▲PageTop