java - 如何使用java在文本区域中逐行打印命令行输出?

标签 java swing cmd runtime jtextarea

我有一个运行命令的代码,但它的输出没有同时进入文本区域。
它在所有过程完成后显示输出。
所以我需要在文本区域中逐行打印输出。

这是我的代码:

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

}

最佳答案

只需在行尾添加一个新行("\n")字符即可:

edlflashTextArea.append("\n");

关于java - 如何使用java在文本区域中逐行打印命令行输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60648158/

相关文章:

java - 奇怪的 jsp 输出 - 应用程序在 eclipse 下工作,但不直接在 tomcat 下工作

java - 使 adjustmentQuantity 方法在 0 处停止

java - 从 Windows 任务计划程序运行 Java GUI 应用程序不起作用

Java动画周期 Action

delphi - Delphi 中用于命令提示符的管道

java - j2ee应用程序中涉及循环引用和数组的内存泄漏

java - 创建 Vector<Vector<String>> 以将 .txt 文件导入 JTable

c++ - 运行文件时保持cmd打开

vbscript - 我需要 "cmd/c"吗?

java - 如何使用另一个泛型类创建一个泛型类?