Ddll
Ddll

Reputation: 105

Problem writing data from PrintStream to "Console as Process" and not "console as System.out" in Java

in Java 8, windows 10, i have a text app, i want to open a console and write something there,

first try is:

    String [] cmd = {"cmd.exe", "/c", "start"};
    ProcessBuilder f = new ProcessBuilder(cmd);
    f.redirectErrorStream(true);
    Process p = f.start();
    PrintStream printStream=new PrintStream(p.getOutputStream());
    //
    System.setOut(printStream);
    System.out.println("this write in CMD"); //did not work 

second try is:

    printStream.println("this write in CMD");//did not work 

Can any body Help?

Upvotes: 1

Views: 55

Answers (1)

DuncG
DuncG

Reputation: 15126

Launch conhost.exe instead, and write to the stdin of the retained Process, or if you redirect your output stream to the process writes with System.out will appear in the new console window:

String [] cmd = {"conhost.exe"};
ProcessBuilder f = new ProcessBuilder(cmd);
f.redirectErrorStream(true);
Process p = f.start();
PrintStream printStream=new PrintStream(p.getOutputStream());
System.setOut(printStream);
System.out.println("dir");

Upvotes: 0

Related Questions