Показать OutputStream (System.out) в текстовой области

1

Я использую Channel.setOutputStream(System.out), и теперь я хочу показать результат в своем текстовом редакторе. Как я могу это сделать? Вот мой код:

 public static void main(String[] args) throws JSchException, InterruptedException {

    JSch jSch = new JSch();
    Session session = jSch.getSession(user , host , 22);
    session.setPassword(password);
    session.setConfig("StrictHostKeyChecking" , "no");
    session.connect(10*1000);
    System.out.println("Connected");

    Channel channel = session.openChannel("shell");
    InputStream is = new ByteArrayInputStream(command.getBytes());
    channel.setInputStream(is);
    channel.setOutputStream(System.out);

    channel.connect(15*1000);

    Thread.sleep(3*1000);

    channel.disconnect();
    session.disconnect();


}

Благодарю.

  • 0
    Пожалуйста, покажите свой код. Что вы думаете о TextComponent # setText ()
Теги:
textarea
outputstream

1 ответ

0
package functions;

import java.io.IOException;
import java.io.OutputStream;

import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

/**
 *
 * @author Admin
 */
public class TextAreaOutputStream extends OutputStream {

    private final JTextArea textArea;
    private final StringBuilder sb = new StringBuilder();
    private final String title;

    /**
     *
     * @param textArea
     * @param title
     */
    public TextAreaOutputStream(final JTextArea textArea, String title) {
        this.textArea = textArea;
        this.title = title;
        sb.append("").append("");
    }

    @Override
    public void flush() {
    }

    @Override
    public void close() {
    }

    @Override
    public void write(int b) throws IOException {

        /*if (b == '\r')
         return;*/
        if (b == '\n') {
            final String text = sb.toString() + "\n";
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    textArea.append(text);
                }
            });
            sb.setLength(0);
            StringBuilder append;
            append = sb.append("").append("");

            return;
        }

        sb.append((char) b);
    }

    /**
     *
     * @return
     */
    public StringBuilder getSb() {
        return sb;
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню