/**
* –daemon and the arg must be distinct strings
*
* quotes aren’t necessary
*/
String[] strArrayWithoutQuote = new String[] {
“C:\\tibrv\\8.3\\bin\\tibrvsend”, “-daemon”,
“localhost:7500”, “-service”, “9013”, “-network”,
“;239.193.224.50,239.193.224.51;239.193.224.50”,
“GENERIC.g.TO_MTS_TRADE_REQUEST”, xml };
System.out.println(Arrays.asList(strArrayWithoutQuote));
execAndWait(strArrayWithoutQuote);
}
/**
* pass arguments, it’s safer to a String array especially if they contain
* spaces.
*/
static private void execAndWait(String[] command)
try {
Runtime runtime = Runtime.getRuntime();
Process p = runtime.exec(command);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String s = null;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
BufferedReader stdError = new BufferedReader(new InputStreamReader(p
.getErrorStream()));
while ((s = stdError.readLine()) != null) {
System.err.println(s);
}
p.waitFor(); // advised to do this after streams
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}