「java.lang.System」クラスの中で、よく使うメソッドについて紹介します。
「java.lang.System」は、Javaのシステム関係のクラスです。全てのフィールドとメソッドがstaticeで、インスタンスを作ることはできません。
java.lang.Systemには、「in(標準入力)」「out(標準出力)」「err(標準エラー出力)」の3つのフィールドがあります。
System.inは、コンソールからの入力に使われます。
BufferedReader reader = new BufferedReader( new InputStreamReader(System.in)); String line = reader.readLine();
System.outは、コンソールへの出力に使われます。
System.out.println("文字列");
System.errもコンソールへの出力に使われますが、エラーとして出力されます。Eclipseでは赤字で出力されます。
System.err.println("エラー");
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")
);