失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出

【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出

时间:2024-03-27 21:44:17

相关推荐

【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出

文章目录

Java 文件生成 Windows 系统 .bat 批处理文件并自动执行1、生成 bat 脚本注意事项2、Java 执行 Cmd 命令3、完整代码示例4、执行结果

Java 文件生成 Windows 系统 .bat 批处理文件并自动执行

1、生成 bat 脚本注意事项

在 Windows 中生成 bat 脚本时 , 必须输出 gb2312 编码的字符串 , 否则执行时会出现中文乱码 ;

另外还要注意 , WIndows 中的换行时 \r\n , 不要忽略这个问题 , 否则也会出错 ;

【错误记录】Windows 系统 bat 脚本报错 ( Java 生成 bat 脚本乱码处理 | 输出 GB2312 字符串 | Windows 中的换行时 \r\n )

2、Java 执行 Cmd 命令

使用 Runtime.getRuntime().exec 执行 Cmd 命令 ; 通过 BufferedReader 读取执行过程中的输出信息 ;

3、完整代码示例

import java.io.*;public class Main {public static void main(String[] args) throws Exception {File bat = new File("cmd.bat");OutputStreamWriter osw =new OutputStreamWriter((new FileOutputStream("cmd.bat")),"gb2312");osw.write("echo 生成 BAT 脚本\r\n");osw.write("echo 执行命令\r\n");osw.close();String ret = excuteCmdCommand("cmd.bat");System.out.println(ret);}/*** 执行 cmd 命令* @param cmdCommand* @return*/public static String excuteCmdCommand(String cmdCommand){StringBuilder stringBuilder = new StringBuilder();Process process = null;try {process = Runtime.getRuntime().exec(cmdCommand);BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK"));String line = null;while((line=bufferedReader.readLine()) != null){stringBuilder.append(line+"\n");}return stringBuilder.toString();} catch (Exception e) {e.printStackTrace();return null;}}}

4、执行结果

执行上述程序 , 执行结果如下 :

【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )

如果觉得《【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。