0

Linux Ubuntu OS でインストール済みのツールを実行する Java プログラムを作成しています。同じプロセスで 2 つの連続したコマンドを実行する必要がありますが、最初のコマンドを完全に実行してから 2 つ目のコマンドを呼び出します。次のコードのように、"\n" を使用して 2 つのコマンドを分離しようとしましたが、うまくいきませんでした。

public static void main (String args[])
{
    List<String> command = new ArrayList<String>();
    command.add("spin");
    command.add("-p");
    command.add("-u100");
    command.add("D:\\promela\\peterson.pml");
    command.add("\n");
    command.add("cc -o pan pan.c");
    command.add("./pan");


    String[] commandArray = command.toArray(new String[command.size()]);
    ProcessBuilder pb = new ProcessBuilder(commandArray);
    Process process;
    try {

          process = pb.start();

          BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
          BufferedReader errReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
          String errline, outline;


          for(String s : command)
           {
             System.out.println(s + " ");
           }

           while ((outline = br.readLine()) != null)
           {
             System.out.println(outline);
           }

           while ((errline = errReader.readLine()) != null)
           {
              System.err.println(errline);
           }


    } catch (IOException e) 
    {
        e.printStackTrace();

    }
}
4

1 に答える 1