如果你是用
System.exec()来调用bat的话,你可以分析bat执行过程的输出信息。
你可以规定bat执行完后输出一个什么的特殊信息。
然后当解析到该信息,就认为执行成功,否则失败。而且,java执行bat的时候会等待它执行结束才执行下一条代码的 :o
System.exec()来调用bat的话,你可以分析bat执行过程的输出信息。
你可以规定bat执行完后输出一个什么的特殊信息。
然后当解析到该信息,就认为执行成功,否则失败。而且,java执行bat的时候会等待它执行结束才执行下一条代码的 :o
解决方案 »
- Value must be an existing directory配置tomcat问题?
- hiberante提示找不到类
- 快毕业了,想找份JAVA开发方面的工作,好找吗?
- useBean问题
- 用java代码备份数据库,生成数据文件的问题
- 迷失方向怎么办?
- log4j 的问题 急急急!!!!!!!!
- 愿意和做IT/Telcom的猎头做朋友吗?msn联系我吧[email protected]
- jboss3.2与mysql-connector-java-3.0.5-gamma,请帮忙!
- SSH整合连接ORACLE,老是出错,大家帮忙看看,多谢!
- 求助 在Hibernate中如何使用数据库连接池
- 安装j2ee1.4
echo end
使用Process类.然后通过InputStream 得到bat打印的东西。如果=end.表示bat完毕
public class Test implements Runnable
{ int i;
public boolean b=true;
Process p =null;
public Test()
{
try
{
p=Runtime.getRuntime().exec("abc.bat");
new Thread(this).start();
}
catch(Exception e)
{System.out.println(e);}
}
public static void main(String args[])
{
Test t = new Test();
}
public void run()
{ try
{ InputStream in = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while(true)
{
String strline=br.readLine();
if (strline.equals("end"))
{
System.out.println("完毕");
return;
}
}
}
catch(Exception e){}
}
}
exp aa/aa@a tables=(a) file=f:\llh\a.dmp grants=y indexes=y rows=y
@echo end
exit
如果我执行这样的批处理就读不到这个END了