java调用.bat文件
用到java调用.bat文件,并且不能显示dos的黑框,并将dos控制台的信息在java控制台输出。结果问题就出在New_AIO_Install_ERP_SQL_Serv...
用到java调用.bat文件,并且不能显示dos的黑框,并将dos控制台的信息在java控制台输出。结果问题就出在New_AIO_Install_ERP_SQL_Server_Express.bat是错误的,一旦此bat文件错误,java控制台写不出错误信息,程序也不能结束了。但是双击此bat文件就可以报错,大侠们,小弟求助,不胜感激
public class TestCmd {
public static void dirOpt() {
System.out.println("------------------dirOpt()--------------------");
Process process;
try {
//执行命令
process = Runtime.getRuntime().exec("C:\\downloads\\New_AIO_Install_ERP_SQL_Server_Express.bat");
//取得命令结果的输出流
InputStream fis = process.getInputStream();
//用一个读输出流类去读
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
//逐行读取输出到控制台
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
//testWinCmd();
dirOpt();
}
}
应该先判断bat文件是否运行结束 在继续下面的读取结果和处理
就是跳不出while循环了,怎么判断bat是否结束??? 大家帮帮忙啊
自己解决了,虽然没有满意答案,分还是给了吧,感谢
Process process;
List list=new ArrayList();
String line = null;
try {
//执行命令
process = Runtime.getRuntime().exec("C:\\downloads\\1111.bat");
//取得命令结果的输出流
InputStream fis = process.getInputStream();
//用一个读输出流类去读
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
//int c;
//逐行读取输出到控制台
while ((line = br.readLine()) != null) {
System.out.println(line);
}
if(process.waitFor()!=0){
System.out.println("失败失败失败失败失败失败失败失败");
}
} catch (Exception e) {
e.printStackTrace();
} 展开
public class TestCmd {
public static void dirOpt() {
System.out.println("------------------dirOpt()--------------------");
Process process;
try {
//执行命令
process = Runtime.getRuntime().exec("C:\\downloads\\New_AIO_Install_ERP_SQL_Server_Express.bat");
//取得命令结果的输出流
InputStream fis = process.getInputStream();
//用一个读输出流类去读
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
//逐行读取输出到控制台
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
//testWinCmd();
dirOpt();
}
}
应该先判断bat文件是否运行结束 在继续下面的读取结果和处理
就是跳不出while循环了,怎么判断bat是否结束??? 大家帮帮忙啊
自己解决了,虽然没有满意答案,分还是给了吧,感谢
Process process;
List list=new ArrayList();
String line = null;
try {
//执行命令
process = Runtime.getRuntime().exec("C:\\downloads\\1111.bat");
//取得命令结果的输出流
InputStream fis = process.getInputStream();
//用一个读输出流类去读
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
//int c;
//逐行读取输出到控制台
while ((line = br.readLine()) != null) {
System.out.println(line);
}
if(process.waitFor()!=0){
System.out.println("失败失败失败失败失败失败失败失败");
}
} catch (Exception e) {
e.printStackTrace();
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询