Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1890367
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: Java

2008-12-25 17:34:09

在java调用exe,com可执行文件和bat,cmd批处理文件
一。运行exe文件

   1. Java JDK里已经提供了调用的方法,不在累赘,代码如下。

    try {
        String command = "notepad";
        Process child = Runtime.getRuntime().exec(command);
    } catch (IOException e) {
    }

二。运行bat(批处理)文件

   1.

import java.io.*;

public class Test
{
    public static void main(String[] args)
    {
        System.out.println("args : " + java.util.Arrays.asList(args));

        try
        {
            String command = "test.bat";
            Process child = Runtime.getRuntime().exec(command);

            String line = null;
            BufferedReader reader = new BufferedReader(new InputStreamReader(child.getInputStream()));
            while((line = reader.readLine()) != null)
            {
                System.out.println(line);
            }
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }

}

   2. 虽然网上有人说找不到直接执行bat文件的方法,但我使用这种方法似乎也可以达到执行bat文件的效果,原本的希望是看看能从Process中读到什么信息,结果直接把bat文件中的内容按行打印并执行了。
   3. 但因为InputStream一直没有关闭,这个循环变成了一个死循环,不知道如何判断批处理文件何时执行完毕。

阅读(1307) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~