1

i have an executable program (.exe) writen in c++ and run on windows console and i have a java swing applecation , so i want my java application to interact with the console app (send input and get output) . but how to do that ?

Radi
  • 6,548
  • 18
  • 63
  • 91

2 Answers2

3

You can do it this way

// Create the proccess in JAVA
Process proc = Runtime.getRuntime().exec("Name of application");

// Receive outputs from another program inside Java by a stream
InputStream ips = proc.getInputStream();

// Using the stream to get the messages from another program
String output = "";
int c = 0;
while ((c = ips.read()) != -1){
    output+= (char)c;
}

//Inputs messages into another program
OutputStream ops = proc.getOutputStream();
ops.write("an byte array");
marionmaiden
  • 3,250
  • 8
  • 33
  • 50
2

You can launch the C++ program from within the Java program which allows you to write to its standard input, and read its standard output. Check the Runtime class.

Bozho
  • 588,226
  • 146
  • 1,060
  • 1,140
Thorbjørn Ravn Andersen
  • 73,784
  • 33
  • 194
  • 347