分类: 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一直没有关闭,这个循环变成了一个死循环,不知道如何判断批处理文件何时执行完毕。