java执行.bat文件(收藏)

本文提供了一个Java代码示例,展示了如何通过Java程序来调用并执行Windows批处理文件(.bat),同时捕获并输出批处理文件执行过程中的输出信息。

原文  http://blog.youkuaiyun.com/gavin_sw/archive/2007/01/22/1489657.aspx

try{
String exeBat = "c:\test.bat";
Process child = Runtime.getRuntime().exec(exeBat);
InputStream in = child.getInputStream();
BufferedReader br= new BufferedReader(new InputStreamReader(in));

String line = br.readLine().toString();
while(line!=null ){
    System.out.println(line);  //输出测试
    line = br.readLine().toString();
}

try{
    child.waitFor();
    br.close();
    in.close();
}catch (Exception e) {
    e.printStackTrace();
}
}catch (Exception e) {
    e.printStackTrace();
}

Java.bat文件在实际应用中有多种结合方式,下面详细介绍其使用方法和相关示例。 ### Java文件生成并执行.bat批处理文件Java中可以生成Windows系统的.bat批处理文件,并且自动执行。在生成过程中,需要处理中文乱码问题,输出GB2312格式的文件,同时要注意Windows系统中的换行符是`\r\n`。以下是一个示例代码: ```java import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; public class GenerateBatFile { public static void main(String[] args) { try { // 创建一个新的.bat文件 File batFile = new File("test.bat"); Writer writer = new OutputStreamWriter(new FileOutputStream(batFile), "GB2312"); // 向.bat文件中写入命令 writer.write("echo Hello, World!\r\n"); writer.write("pause\r\n"); // 关闭写入流 writer.close(); // 执行生成的.bat文件 Process process = Runtime.getRuntime().exec("cmd /c start test.bat"); } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码中,首先创建了一个名为`test.bat`的文件,然后向其中写入了两条命令:`echo Hello, World!`用于输出信息,`pause`用于暂停窗口,防止窗口立即关闭。最后使用`Runtime.getRuntime().exec`方法执行生成的.bat文件。 ### Java执行Cmd命令来运行.bat文件 Java可以通过执行Cmd命令来运行已有的.bat文件。以下是一个简单的示例: ```java import java.io.IOException; public class ExecuteBatFile { public static void main(String[] args) { try { // 执行.bat文件 Process process = Runtime.getRuntime().exec("cmd /c start path/to/your/file.bat"); } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个示例中,使用`Runtime.getRuntime().exec`方法执行了一个Cmd命令,该命令用于启动指定路径下的.bat文件。 ### 编写运行Java程序的.bat文件 可以编写一个.bat文件来运行Java程序。假设Java程序的类名为`Main`,并且已经将其编译为`.class`文件,以下是一个简单的.bat文件示例: ```batch @echo off java Main pause ``` 将上述内容保存为一个以`.bat`为扩展名的文件,例如`run.bat`。在命令行中双击该文件,就会执行`java Main`命令来运行Java程序,`pause`命令用于暂停窗口,方便查看程序输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值