マンガで分かる Java入門講座

第11章 Javaのシステム
11-5. Systemクラス

「java.lang.System」クラスの中で、よく使うメソッドについて紹介します。

● java.lang.Systemクラス

 「java.lang.System」は、Javaのシステム関係のクラスです。全てのフィールドとメソッドがstaticeで、インスタンスを作ることはできません。


● 標準入出力

 java.lang.Systemには、「in(標準入力)」「out(標準出力)」「err(標準エラー出力)」の3つのフィールドがあります。

 System.inは、コンソールからの入力に使われます。

ソースコード)System.inを利用してCUIアプリのコンソールから入力を取得
BufferedReader reader = new BufferedReader(
	new InputStreamReader(System.in));
String line = reader.readLine();

 System.outは、コンソールへの出力に使われます。

ソースコード)System.outを利用してコンソールに出力
System.out.println("文字列");

 System.errもコンソールへの出力に使われますが、エラーとして出力されます。Eclipseでは赤字で出力されます。

ソースコード)System.errを利用してコンソールに出力
System.err.println("エラー");

● java.lang.Systemのメソッド

 java.lang.Systemには、様々なシステム周りのメソッドが用意されています。そのメソッドを紹介します。

説明)java.lang.Systemのメソッド
// 配列のコピー(コピー元配列、コポー開始位置、
// コピー先配列、書き込み開始位置、書き込み長さ)
public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)

// ガベージコレクタを実行
public static void gc()

// 1970年1月1日午前0時からの経過ミリ秒を取得
public static long currentTimeMillis()

// ナノ秒単位で時間を取得(経過時間計測でのみ使用可能)
public static long nanoTime()

// Java仮想マシンを終了(引数が0以外は異常終了を示す)
public static void exit(int status)

// nameで指定された環境変数の値を取得
public static String getenv(String name)

// keyで指定されたシステムプロパティの値を取得
public static String getProperty(String key)

● 環境変数とシステムプロパティ

 「環境変数」は、OS環境などの情報です。

ソースコード)環境変数の利用
// WindowsのPATHを出力
System.out.println(System.getenv("PATH"));

// 環境変数の一覧を出力
System.out.println(
    System.getenv().toString().replaceAll(", ", "\n")
);

 「システムプロパティ」は、Java仮想マシンや実行時の状態などの情報です。

ソースコード)システムプロパティの利用
// Javaアプリケーションのカレントディレクトリを出力
System.out.println(System.getProperty("user.dir"));

// システムプロパティの一覧を出力
System.out.println(
    System.getProperties().toString().replaceAll(", ", "\n")
);

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/06/07  更新:2016/02/09  [Permalink]