パッケージ org.opengion.fukurou.util

クラス Shell


  • public class Shell
    extends java.lang.Object
    Shell は、Runtime.exec の簡易的に実行するクラスです。 複雑な処理は通常の Runtime.exec を使用する必要がありますが,ほとんどの プロセス実行については、このクラスで十分であると考えています。 このクラスでは、OS(特にWindows)でのバッチファイルの実行において、 OS自動認識を行い、簡易的なコマンドをセットするだけで実行できるように しています。
    バージョン
    4.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      static int CANCEL
      Shell オブジェクトの状態を表します。
      static int ERROR
      Shell オブジェクトの状態を表します。
      static int OK
      Shell オブジェクトの状態を表します。
      static int RUNNING
      Shell オブジェクトの状態を表します。
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      Shell()
      デフォルトコンストラクター
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      void destroy()
      サブプロセスを終了します。
      int exec()
      プロセスの実行処理。
      int exitValue()
      サブプロセスの終了コードを返します。
      java.lang.String getCommand()
      プロセスが実際に実行するコマンドを取得します。
      java.lang.String getStderrData()
      プロセスの実行時のエラー出力を取得します。
      java.lang.String getStdoutData()
      プロセスの実行時の標準出力を取得します。
      boolean isEnd()
      プロセスが終了しているかどうか[true/false]を確認します。
      void setCommand​(java.lang.String cmd)
      プロセスを実行する時に引き渡すコマンド。
      void setCommand​(java.lang.String cmd, boolean batch)
      プロセスを実行する時に引き渡すコマンド 第2引数には、コマンドがBATかEXEかを指定できます。
      void setEnvP​(java.lang.String... env)
      環境変数設定の配列指定します。
      void setTimeout​(int tout)
      プロセスの実行処理のタイムアウトを設定します。
      void setWait​(boolean flag)
      プロセスの実行処理の終了を待つかどうか。
      void setWorkDir​(java.io.File dir)
      作業ディレクトリを指定します。
      java.lang.String toString()
      この Shell のインフォメーション(情報)を出力します。
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • フィールドの詳細

      • OK

        public static final int OK
        Shell オブジェクトの状態を表します。正常 0
        関連項目:
        定数フィールド値
      • RUNNING

        public static final int RUNNING
        Shell オブジェクトの状態を表します。実行中 1
        関連項目:
        定数フィールド値
      • CANCEL

        public static final int CANCEL
        Shell オブジェクトの状態を表します。取消 9
        関連項目:
        定数フィールド値
      • ERROR

        public static final int ERROR
        Shell オブジェクトの状態を表します。異常終了(負) -1
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • Shell

        public Shell()
        デフォルトコンストラクター
        変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
    • メソッドの詳細

      • setCommand

        public void setCommand​(java.lang.String cmd,
                               boolean batch)
        プロセスを実行する時に引き渡すコマンド 第2引数には、コマンドがBATかEXEかを指定できます。 true の場合は,バッチコマンドとして処理されます。
        パラメータ:
        cmd - コマンド
        batch - true:バッチファイル/false:EXEファイル
        変更履歴:
        3.3.3.0 (2003/07/09) Windows XP 対応, 3.7.0.1 (2005/01/31) Windows 2003 対応, Windows 95 除外, 3.8.9.2 (2007/07/13) Windows Vista 対応
      • setCommand

        public void setCommand​(java.lang.String cmd)
        プロセスを実行する時に引き渡すコマンド。
        パラメータ:
        cmd - EXEコマンド
      • setWait

        public void setWait​(boolean flag)
        プロセスの実行処理の終了を待つかどうか。
        パラメータ:
        flag - true:待つ(デフォルト)/ false:待たない
      • setTimeout

        public void setTimeout​(int tout)
        プロセスの実行処理のタイムアウトを設定します。 ゼロ(0) の場合は、割り込みが入るまで待ちつづけます。
        パラメータ:
        tout - タイムアウト時間(秒) ゼロは、無制限
      • setWorkDir

        public void setWorkDir​(java.io.File dir)
        作業ディレクトリを指定します。 シェルを実行する、作業ディレクトリを指定します。 指定しない場合は、このJava仮想マシンの作業ディレクトリで実行されます。
        パラメータ:
        dir - 作業ディレクトリ
      • setEnvP

        public void setEnvP​(java.lang.String... env)
        環境変数設定の配列指定します。 環境変数を、name=value という形式で、文字列配列で指定します。 null の場合は、現在のプロセスの環境設定を継承します。
        パラメータ:
        env - 文字列の配列(可変長引数)。
      • exec

        public int exec()
        プロセスの実行処理。
        戻り値:
        サブプロセスの終了コードを返します。0 は正常終了を示す
      • getStdoutData

        public java.lang.String getStdoutData()
        プロセスの実行時の標準出力を取得します。
        戻り値:
        実行時の標準出力文字列
      • getStderrData

        public java.lang.String getStderrData()
        プロセスの実行時のエラー出力を取得します。
        戻り値:
        実行時の標準出力文字列
      • getCommand

        public java.lang.String getCommand()
        プロセスが実際に実行するコマンドを取得します。 バッチコマンドかどうかで、実行されるコマンドが異なりますので、 ここで取得して確認することができます。 主にデバッグ用途です。
        戻り値:
        実行時の標準出力文字列
      • destroy

        public void destroy()
        サブプロセスを終了します。 この Process オブジェクトが表すサブプロセスは強制終了されます。
      • isEnd

        public boolean isEnd()
        プロセスが終了しているかどうか[true/false]を確認します。 この Process オブジェクトが表すサブプロセスは強制終了されます。
        戻り値:
        プロセスが終了しているかどうか[true/false]
        変更履歴:
        6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
      • exitValue

        public int exitValue()
        サブプロセスの終了コードを返します。
        戻り値:
        この Process オブジェクトが表すサブプロセスの終了コード。0 は正常終了を示す
        例外:
        java.lang.IllegalThreadStateException - この Process オブジェクトが表すサブプロセスがまだ終了していない場合
        変更履歴:
        6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
      • toString

        public java.lang.String toString()
        この Shell のインフォメーション(情報)を出力します。 コマンド、開始時刻、終了時刻、状態(実行中、終了)などの情報を、 出力します。
        オーバーライド:
        toString クラス内 java.lang.Object
        戻り値:
        インフォメーション(情報)
        変更履歴:
        5.5.7.2 (2012/10/09) HybsDateUtil を利用するように修正します。, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
        このメソッドは、nullを返しません