2016-04-20 18 views
0

javaプロセスexecutorを使用してシェルスクリプトを実行しようとしています.PINGコマンドに使用しているときにうまく動作しますが、DUMPコマンドには影響しません。ここに私が試みているコードがあります。javaプロセス実行プログラムを使用してcell -scriptを実行できません

ここ
import java.io.BufferedReader; 
    import java.io.InputStreamReader; 

    public class ExecuteShellComand { 

public static void main(String[] args) { 

    ExecuteShellComand obj = new ExecuteShellComand(); 

    String domainName = "www.google.com"; 
    String command1 = "ping -c 3 " + domainName; 
    String command = "pg_dump -U kalculate Kalculate_4.1_final -f testfinal11.sql"; 
    String output = obj.executeCommand(command1); 
    obj.executeCommand(command); 
    System.out.println(output); 

} 

private String executeCommand(String command) { 

    StringBuffer output = new StringBuffer(); 

    Process p; 
    try { 
     p = Runtime.getRuntime().exec(command); 
     p.waitFor(); 
     BufferedReader reader = 
         new BufferedReader(new InputStreamReader(p.getInputStream())); 

        String line = "";   
     while ((line = reader.readLine())!= null) { 
      output.append(line + "\n"); 
     } 

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

    return output.toString(); 

    } 

} 

obj.executeCommand(command);任意のimpact.Anyのヘルプを作成することはかなりの量になるではありません。

答えて

0

私はあなたが別の変数や文字列にパラメータを分離する必要があると思います。

例:

から:

String command1 = "ping -c 3 " + domainName; 
String command = "pg_dump -U kalculate Kalculate_4.1_final -f testfinal11.sql"; 
String output = obj.executeCommand(command1); 

へ:

String command1 = "ping"; 
String parameter01 = "-c"; 
String parameter02 = "3"; 
String output = obj.executeCommand(command1, parameter01, parameter02, domainName); 
関連する問題