System
Systemクラスは Objectクラスの直接のサブ・クラスです。
java.langパッケージに含まれます。
Systemはその名のとおりシステムとのインターフェイスを提供します。
System クラスのオブジェクトが生成されることはありません。
System クラスの変数及びメソッドは全て static です。
Systemクラスの変数
Systemクラスには、標準入出力に対応する3つの public変数が用意されています。
- public static InputStream in
- public static PrintStream out
- public static PrintStream err
in, out, err はそれぞれ、標準入力、標準出力、標準エラー出力を表します。
(inputStream および PrintStreamクラスの説明は、第8章を参照。)
たとえば、標準出力にメッセージを表示するのなら次のようになります。
System.out.println("Welcome to Wakkanai!");
Systemクラスのメソッド
Systemクラスには、
引数の区別もすると全部で十数個のメソッドが定義されています。
メソッドの目的ごとに以下の項目のようにグループ分けして解説します。
- システムから情報を取得するメソッド
- バーチャル・マシンの環境に関するメソッド
- バーチャル・マシンの動作に関するメソッド
- その他のメソッド
システムから情報を取得するメソッド
- public static long currentTimeMillis()
- public static String getenv(String name)
currentTimeMillis()メソッドは、1970年 1月 1日の 0:00 から現在までの
時刻をミリ秒単位で返します。
getenv()メソッドは、指定された環境変数の値を調べて返します。
バーチャル・マシンの環境に関するメソッド
- public static SecurityManager getSecurityManager()
- public static void setSecurityManager(SecurityManager s)
- public static Properties getProperties()
- public static void setProperties(Properties props)
- public static String getProperty(String key)
- public static String getProperty(String key, String def)
getSecurityManager()メソッドは、
現在使用されているセキュリティ・マネジャを返します。
setSecurityManager()メソッドはセキュリティ・マネジャを設定します。
getProperties() および setProperties()は、プロパティのセットの
取得・設定を行います。
getProperty()はキーに対応するプロパティの情報を返します。
(第2引数はプロパティが登録されていない場合のデフォルト値になります。)
バーチャル・マシンの動作に関するメソッド
- public static void load(String filename)
- public static void loadLibrary(String libname)
- public static void gc()
- public static void runFinalization()
- public static void exit(int status)
load()および loadLibrary()は、指定されたバイト・コードのモジュールを
動的にロードします。
gc()メソッドはガーベッジ・コレクタを明示的に呼び出します。
runFinalization()メソッドは、不要になったオブジェクトの後始末の処理を
明示的に呼び出します。
exit()メソッドはバーチャル・マシンを終了させます。
その他のメソッド
- public static void arraycopy(Object src, int src_position, Object dst, int dst_position, int length)
arraycopy()メソッドは配列の内容を他の配列にコピーします。
第1引数がコピー元、第3引数がコピー先の配列です。
第2引数は、コピー元の配列の中でコピーの対象となる先頭のインデックスです。
第4引数は、コピー先の配列の中でコピーの対象となる先頭のインデックスです。
第5引数は、コピーされる要素の数です。