java - 如何读取控制台输出

标签 java grails groovy console inputstream

使用Grails框架,如何读取控制台输出。我的意思是我的grails应用程序中有一个Java库,该库将(system.out.println(“x”))输出到控制台,并且我想在grails应用程序的文本框中显示它。我该怎么做。

我不想将消息写到文件中并以这种方式或数据库读取它们。是否有直接从控制台读取的内容。

提前致谢。

编辑**

我正在使用的第三方jar文件

最佳答案

您可以使用System.setOut()方法重定向输出。这是一个快速的示例,该示例在五秒钟后将System.out重定向到文本 Pane :

import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Date;

public class TextCapture {

    public static void main(String[] args) throws Exception {
        JFrame jf = new JFrame();
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        final JTextArea jta = new JTextArea();
        jta.setPreferredSize(new Dimension(400, 200));
        jf.getContentPane().add(jta);
        jf.pack();
        jf.setVisible(true);

        OutputStream textOS = new OutputStream() {
            @Override
            public void write(int b) throws IOException {
                jta.setText(jta.getText() + ((char)b));
            }
        };

        for(int i = 0; i < 20; i++) {
            Thread.sleep(1000);
            if(i == 5) {
                System.setOut(new PrintStream(textOS));
            }
            System.out.println(String.valueOf(new Date()));
        }
    }

}

关于java - 如何读取控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27359816/

相关文章:

java - 将 JSON 对象从 JsonSlurper 转换回附加的 JSONArray - Groovy

groovy - 用于处理给定目录中所有文件的 Nextflow 脚本

java - VaadinSession 在销毁期间不拥有锁导致 AssertionError

google-chrome - 在grails中使用gsp页面时发现2个具有非唯一ID的元素

grails - 是否有一个 groovy.jar 及其所有依赖项?

grails 云托管推荐

unit-testing - Grails 单元测试

java - 如何正确配置jax-rs web service web.xml

java - Guice:注入(inject)用于实现抽象方法的参数

java - android & Java 中的外来字符