我正在为朋友做一个小桌面应用程序来做 ping,它“有效”,我打算使用 ping -t(用于无限 ping),但是以我的方式,它永远不会显示结果,因为它只会返回完成后,我必须更改/添加以在“jtextField”中添加每个结果
看看我有什么:
方法来执行 ping 并返回结果(resposta)。
public String pingar(String ip){
String resposta="";
String comando="ping -t "+ip;
try {
Scanner S = new Scanner( Runtime.getRuntime().exec(comando).getInputStream());
while(S.hasNextLine()) {
resposta+=S.nextLine()+"\n";
}
} catch (IOException ex) {
ex.printStackTrace();
}
return resposta;
}
方法启动上述方法并使用方法 adicionaresultado 附加结果(resposta) public void ativaoping() { adicionaresultado((pingar(tfIp.getText()))); }
更改/附加文本并将滚动位置设置到末尾的方法
public void adicionaresultado(String resposta) {
taResultados.append(resposta);
taResultados.setCaretPosition(taResultados.getDocument().getLength());
//tfResultado.setText(tfResultado.getText() + "\n" + resposta);
}
}
但我的问题是它只在完成 ping 时返回并添加文本,所以我永远无法使用 ping -t