2014-12-19 6 views
-1

Как я могу отправить более двух параметров здесь, в следующей программе? пожалуйста советProcessBuilder - передача нескольких параметров

ProcessBuilder pb = new ProcessBuilder("/bin/bash", scriptPath + script, "myArg1", "myArg2"); 
    Map<String, String> env = pb.environment(); 
    env.put("VAR1", "myValue"); 
    env.put("VAR2", env.get("VAR1") + "suffix"); 
    try { 
     Process p = pb.start(); 
     p.waitFor(); 

     BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String line; 

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

    } catch (IOException e) { 
     e.printStackTrace(); 
    }catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

Пожалуйста, выделить и описать параметры – Lizz

+0

Добавить параметры в вызов конструктора? – vanza

ответ

0

Вы можете добавить еще одно значение на карте:

Map<String, String> env = pb.environment(); 
env.put("VAR1", "myValue"); 
env.put("VAR2", env.get("VAR1") + "suffix"); 
env.put("VAR3", "one more"); 

Или вы можете добавить еще один аргумент конструктору, так как он принимает Var арг:

ProcessBuilder pb = new ProcessBuilder("/bin/bash", 
    scriptPath + script, "myArg1", "myArg2", "myArg3"); 
Смежные вопросы