вот как вы можете сделать это с помощью трюка с оболочкой:
mysql -uroot -p -hslavedb.mydomain.com mydb_production & lt; & lt; 'select * from users'
'& lt; & lt; & lt; инструктирует оболочку брать все, что следует за ней, как stdin, подобно каналу из эха.
использовать флаг -t для включения вывода в виде табличного формата
Вы также можете использовать это:
String command = "python /c start python path\to\script\script.py";
Process p = Runtime.getRuntime().exec(command + param );
или
String prg = "import sys";
BufferedWriter out = new BufferedWriter(new FileWriter("path/a.py"));
out.write(prg);
out.close();
Process p = Runtime.getRuntime().exec("python path/a.py");
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String ret = in.readLine();
System.out.println("value is : "+ret);
String command = "cmd /c python <command to execute or script to run>";
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader bre = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line;
while ((line = bri.readLine()) != null) {
System.out.println(line);
}
bri.close();
while ((line = bre.readLine()) != null) {
System.out.println(line);
}
bre.close();
p.waitFor();
System.out.println("Done.");
p.destroy();
Я считаю, что мы можем использовать ProcessBuilder
Runtime.getRuntime().exec("python "+cmd + py + ".py");
.....
since exec has its own process we can use that
ProcessBuilder builder = new ProcessBuilder("python", py + ".py");
builder.directory(new File(cmd));
builder.redirectError();
....
Process newProcess = builder.start();
String[] cmd = new String[] {"python,"...",".."}
– Maddy
3 December 2014 в 10:10