我發現這個話題,但代碼不爲我工作... 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