我当时解决的办法是。
市中ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
p.getOutputStream()
p.getErrorStream()
都不停地往外读取内容。
原因是这样的,bat命令输出的内容会输出到一块缓冲区内存中。
如果你不及时读取出来,当缓冲区内存满了以后,
bat命令会停止执行。
所以办法就是要把执行bat命令的输出内容读取出来,不能让缓冲区满。
java可使用Runtime.exec执行bat文件,示例代码如下:
import java.io.*;
import java.util.*;
public class TestExec {
public void runbat(int name) {
String cmd = "cmd /c start D:/bat/"+name+".bat";
try {
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println(ps.getInputStream());
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args){
TestExec test1 = new TestExec ();
test1.runbat("abc");
}
}
其中,abc.bat可以是已经存在的bat,也可以是动态生成的bat(如果需要根据已有参数执行bat,则可以使用动态生成bat文件的方式)
public static void main(String[] args) {
try {
String command = "C:\\Users\\Administrator\\Desktop\\do.bat";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(),"GBK"));//注意中文编码问题
String line;
while ((line = br.readLine()) != null) {
System.out.println("StartedLog=="+line);
}
br.close();
} catch (IOException e) {
}
}
自己试试吧,不知道可行不可行.
建议你用java
ANT
先写一个ANT的
BUILD.XML
(网上自己找下)
然后写脚本
a.bat
ant
-v
然后执行a.bat就行了
(2)
或者直接在BAT里写
JAVAC
*.java命令都可以。
在window下bat批处理文件调用实现java方法。
代码如下:
@echo off
echo 正在加密,请稍后....
echo path:%~dp0
set base=%~dp0
set class=%base%\bin
set libs=%base%\lib
set class_path=%class%;%libs%\c3p0-0.9.1.2.jar;%libs%\mysql-connector-java-5.0.8-bin.jar;
java -classpath %class_path% com.test.Main
@pause
classes目录是java编译后的class目录
libs目录存放的所要使用到的jar
startNet.bat启动的bat文件
网页题目:java代码bat运行 bat 执行bat
本文网址:https://www.cdcxhl.com/article0/doojjio.html
成都网站建设公司_创新互联,为您提供做网站、微信公众号、静态网站、外贸网站建设、服务器托管、网站收录
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联