我发现这个话题,但代码不为我工作... Return Windows cmd text from Java?的Windows CMD输出(爪哇)
按下一个按钮,我想执行一个批处理文件,用于测试目的后它只是ipconfig-command。
cmd的输出应写入到JTextFiled,但我得到的是没有文字......
这里它写入JTextField中的代码:
btnLock.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String g = "";
try {
Runtime.getRuntime().exec(new String[] {"ipconfig", g});
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Process p = null;
try {
p = Runtime.getRuntime().exec(new String[] {"ipconfig", g});
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStream s = p.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(s));
String temp;
try {
while ((temp = in.readLine()) != null)
{
System.out.println(temp);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
btnLock.setBounds(10, 68, 89, 23);
contentPane.add(btnLock);
所以我做什么做错了?
这是我第一个使用cmd输入的项目,所以请不要因为我犯的愚蠢错误而生气。 ;)
THX
好吧,它与非gui应用程序正常工作。但如果我尝试用我的GUI(和一个JTextArea)输出只是最后一行... – user1318160 2012-08-02 20:55:55
嗯。这是在一个while循环。你会想要做一些像'String outpt =“”; while((temp = ...)){outpt + = temp +“\ n”; } textField.setText(outpt);' – 2012-08-02 21:01:28
好吧,它适用于textArea.append(temp); – user1318160 2012-08-02 21:01:42