欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

[好奇怪]java调用批处理的有关问题

更新时间: 2014-01-05 00:49:46 责任编辑: Author_N1

 

[好奇怪]java调用批处理的问题
我需要用java调用一个用java生成的批处理文件(.bat) 代码如下:

Date date = new Date();
String s = "";
        try {
         File f = new File("c:\\produce\\"+date+"\\"+date+".bat");
         if(!f.exists()){
          f.createNewFile();//不存在则创建
          BufferedReader input = new BufferedReader(new FileReader(f));
          
          if(input.readLine()==null){
              s += "net stop mysql \r\n";
              s += "xcopy \"c:\\produce\\"+date+"\\*.*\" \"E:\\Program Files\\MySQL\\MySQL Server 5.0\\data\\test\\\" /y \r\n";
              s += "net start mysql \r\n";
          }
          System.out.println(s);
          input.close();
          
          BufferedWriter output = new BufferedWriter(new FileWriter(f));
          output.write(s);
          output.close();
         }
         Runtime.getRuntime().exec("c:\\produce\\"+date+"\\"+date+".bat");

最后生成的批处理文件如下
net stop mysql 
xcopy "c:\produce\2013-01-26\*.*" "E:\Program Files\MySQL\MySQL Server 5.0\data\test\" /y 
net start mysql
 
下面问题来了:
java运行完连带创建的批处理文件也运行了,复制的功能实现了,但是注意:批处理中第一句(net stop mysql)停止了mysql在windows下的服务项,批处理最后一句(net start mysql)却并未重新开启mysql在windows下的服务项(我的操作系统是winXP),也就是说我运行完这个java代码后,我的mysql服务被停止了。
我就疑惑:是不是java运行这个批处理没有运行完?希望大家帮我解决一下。
--参考方法--
为分而来!分............................................................................................................40分

抢分而来。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
                             40分夺分而走  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

                                                       谢谢@329%4023 
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 00:49:46
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/232/
本文WWW.DOC100.NET DOC100.NET版权所有。