Vorrei reindirizzare un output di processo java verso lo standard output del processo java padre.ProcessBuilder reindirizzato all'output standard
Uso della classe ProcessBuilder come segue:
public static void main(String[] args) {
ProcessBuilder processBuilder = new ProcessBuilder("cmd");
processBuilder.directory(new File("C:"));
processBuilder.redirectErrorStream(true); // redirect error stream to output stream
processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT);
}
mi sarei aspettato che le uscite del "cmd", che sono come:
Microsoft Windows [versione 6.1.7601] copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
vengono visualizzati nella console DOS utilizzata per eseguire il programma java. Ma nulla viene visualizzato affatto nella console DOS.
Negli altri thread di discussioni, ho visto le soluzioni utilizzando una classe BufferedReader: ma qui vorrei che gli output del processo venissero visualizzati direttamente nello standard output, senza utilizzare alcun BufferedReader o "while reading loop". È possibile?
Grazie.
Guarda le API per la classe System per i metodi di cui avrete bisogno: 'setout (...)', 'Setin (...)', 'setErr (...) '. –
Questo dovrebbe funzionare. Non vedo perché non lo farebbe. – Qix