1

How do I print to stdout the output string obtained executing a command?

So Runtime.getRuntime().exec() would return a Process, and by calling getOutputStream(), I can obtain the object as follows, but how do I display the content of it to stdout?

OutputStream out = Runtime.getRuntime().exec("ls").getOutputStream();

Thanks

One Two Three
  • 22,327
  • 24
  • 73
  • 114

2 Answers2

2

I believe you are trying to get the output from process, and for that you should get the InputStream.

InputStream is = Runtime.getRuntime().exec("ls").getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader buff = new BufferedReader (isr);

String line;
while((line = buff.readLine()) != null)
    System.out.print(line);

You get the OutputStream when you want to write/ send some output to Process.

vidit
  • 6,293
  • 3
  • 32
  • 50
0

Convert the stream to string as discussed in Get an OutputStream into a String and simply use Sysrem.out.print()

Community
  • 1
  • 1
Shmil The Cat
  • 4,548
  • 2
  • 28
  • 37