简体   繁体   中英

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?

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");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM