gpt4 book ai didi

java - JTextArea 的 Apache DefaultExecutor 和 Ping 命令

转载 作者:行者123 更新时间:2023-12-02 05:09:01 24 4
gpt4 key购买 nike

我是使用 Apache 实用程序的 Java 新手。

我正在研究 Apache 的 DefaultExecutor 方法,代码如下。

<小时/>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecuteResultHandler;
import org.apache.commons.exec.DefaultExecutor;
import org.apache.commons.exec.ExecuteException;
import org.apache.commons.exec.LogOutputStream;
import org.apache.commons.exec.PumpStreamHandler;

public class PingExampleApacheExec {

public static void main(String[] args) {
//
CommandLine commandLine = new CommandLine("ping");
commandLine.addArgument("/n");
commandLine.addArgument("5");
commandLine.addArguments("/w 1000");
commandLine.addArgument("127.0.0.1");

// Executor
DefaultExecutor executor = new DefaultExecutor();
try {


// LogOutputStream
LogOutputStream output = new LogOutputStream() {
@Override
protected void processLine(String line, int level) {

// NewJFrame1 myLOG = new NewJFrame1(); // not worked
// myLOG.mainLOG(); // not worked
// myLOG.jTextArea1.setText(line); // not worked
System.out.println(line);
}
};
PumpStreamHandler streamHandler = new PumpStreamHandler(output);
executor.setStreamHandler(streamHandler);


executor.setExitValue(0);


DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
executor.execute(commandLine, resultHandler);

// TODO output.close()

} catch (ExecuteException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

============================

我的简单问题:上面的代码很简单,但是当我将字符串重定向到 JTextArea 时,它失败了。

我们怎样才能做到呢?即如何将 ping 信息打印到 JTextArea 中?为什么 SetText/append 不起作用?

最佳答案

see自 Java 7 以来,setText()append() 不再是线程安全的。

关于java - JTextArea 的 Apache DefaultExecutor 和 Ping 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com