Как напечатать вывод командной строки в текстовой области строка за строкой, используя java? - PullRequest
1 голос
/ 12 марта 2020

У меня есть код, который запускает команду, но ее вывод не попал в текстовую область одновременно.
Отображает выходные данные после завершения всего процесса.
Поэтому мне нужно выводить строку за строкой в ​​текстовой области.

Вот мой код:

try{
            Process p = Runtime.getRuntime().exec(cmd,null,dir);

            BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
            BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

            // read the output from the command

            while ((k = stdInput.readLine()) != null) {
                 //result= result +"\n"+k+"\n";
                 edlflashTextArea.append(k);
                 System.out.println(k);
            }

            // read any errors from the attempted command

            while ((k = stdError.readLine()) != null) {
                //result= result+"\n"+k+"\n";
                edlflashTextArea.append(k);
            }
            edlflashTextArea.append("DONE");


} catch (IOException l) {
            System.out.println("exception happened - here's what I know: ");
            StringWriter sw= new StringWriter();
            l.printStackTrace(new PrintWriter(sw));
            String ExceptionAsString=sw.toString();
            System.out.println(ExceptionAsString);
            edlflashTextArea.append(ExceptionAsString);

}

1 Ответ

0 голосов
/ 12 марта 2020

Просто добавьте символ новой строки ("\n") в конце строки:

edlflashTextArea.append("\n");
...