我需要从JSP执行批处理文件,但代码会在批处理文件执行语句之后移动到下一行,并且不会等待批处理文件完成执行。我尝试了waitfor()
,但它无限循环。
所以现在我选择了一个不同的解决方案,我的批处理文件由JSP执行,修改系统上的文件。所以我放了一个while循环并检查文件修改时间和当前系统时间。即使在这种情况下,while循环也会持续下去。
请采用任何一种方法提供帮助。
Process p = Runtime.getRuntime().exec("C:\\TOMCAT\\apache-tomcat-6.0.37\\webapps\\ROOT\\vcc_support_automation\\jsp\\List_user_utility.bat");
SimpleDateFormat sdfDate = new SimpleDateFormat("MM/dd/yyyy HH:mm");
Date now = new Date();
String strDate = sdfDate.format(now);
File file = new File("C:\\TOMCAT\\apache-tomcat-6.0.37\\webapps\\ROOT\\vcc_support_automation\\jsp\\duplicate_users_list.txt");
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm");
String mdfDate = sdf.format(file.lastModified());
strDate.replaceAll("\\s","");
mdfDate.replaceAll("\\s","");
while (true){
if(strDate.equals(mdfDate))
{
System.out.println("hello");
break;
}
}