java - Windows 命令输出 (Java)

标签 java

我找到了这个主题,但代码对我不起作用... Return Windows cmd text from Java?

按下按钮后,我想执行一个批处理文件,出于测试目的,它只是 ipconfig 命令。

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-input 的项目,所以请不要因为我犯的愚蠢错误而生气。 ;)

谢谢

最佳答案

尝试只接受一个字符串参数的exec 命令。以下测试代码在我的系统上运行(尽管我只打印到控制台,而不是文本字段):

BufferedReader in = null;
try{
    Process p = Runtime.getRuntime().exec("ipconfig");
    InputStream s = p.getInputStream();

    in = new BufferedReader(new InputStreamReader(s));
    String temp;

    while ((temp = in.readLine()) != null) {
        System.out.println(temp);
    }
} catch (Exception e){
    e.printStackTrace();
} finally {
    if (in != null) in.close();
}

此外,您在原始帖子中的代码也使用了 System.out.println。据我所知,您不能使用 System.out.println...打印到 JTextField。您必须使用 setText 方法。

关于java - Windows 命令输出 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11780923/

相关文章:

java - Java 模型的 JSON 字段映射

java - 将显示名称字符串从 "First M. Last"更改为 "Last, First M."?

java - 使用 toString() 进行设置

java - 在java中检测windows系统区域设置

java - SOAP Web 服务是否只支持 "POST"http 方法

java - 使用 java.lang.String.matches() 查找匹配项

java - 从 XML 文档获取属性

java - 小程序:无法读取图像文件

java - 使用 JdbcTemplate 获取查询返回的行数

java - 从 Map[String,Any] 类型的 Scala 映射中提取值,其中 Any 可以是 Map 本身