i3geek.com
闫庚哲的个人博客

java中运行bat并获取结果

多的不说,这些名词都是很简单易懂的,直接上代码!

    public String runbat(String batName) {
        String str = null;
        try {
            Process ps = Runtime.getRuntime().exec(batName);
            InputStream in = ps.getInputStream();
            byte[] sb = readStream(in);
            str = new String(sb, "UTF-8");
            System.out.println(str);
            in.close();
            ps.waitFor();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("\nchild thread done");
        return str;
    }

这里写下用到的工具方法,把流转成字符串输出:

public static byte[] readStream(InputStream inStream) throws Exception {
        ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = -1;
        while ((len = inStream.read(buffer)) != -1) {
            outSteam.write(buffer, 0, len);
        }
        outSteam.close();
        return outSteam.toByteArray();
    }

注意

若会弹出cmd框,并且不能自动关闭,则在bat文件最后加上

exit

赞(0)
未经允许不得转载:爱上极客 » java中运行bat并获取结果
分享到: 更多 (0)

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    up

    凋零4年前 (2015-12-22)回复
  2. #2

    up

    爱上极客网友4年前 (2015-12-22)回复
  3. #3

    up

    黑色o凋零4年前 (2015-12-22)回复