Процесс без ожидания для завершения файла Bat - PullRequest
0 голосов
/ 18 февраля 2012

Я создаю файл .bat в своем Java-приложении (время выполнения), затем запускаю файл .bat и использую метод waitFor () для ожидания завершения файла .bat, но не обрабатываю время ожидания для завершения файла .bat.

Код:

  public boolean restoreDepot() {
   try {
     InputStreamReader _input = new  
      InputStreamReader(getClass().getResourceAsStream("/Depot/DBMakaseb.sql"));
     BufferedReader _in = new BufferedReader(_input);

     String _currentpath = (new File(".")).getCanonicalPath() + File.separator + "DBDepot.sql";
     BufferedWriter _out = new BufferedWriter(new FileWriter(_currentpath));

     while (_in.ready()) {
        _out.write(_in.readLine());
        _out.newLine();
     }

     _in.close();
     _out.close();


     String _comCur = "set cur=%cd%";
     String _comCD = "Cd /d %PROGRAMFILES%\\MySQL\\MySQL Server 5.5\\bin";
     String _comando = "mysql -u root -pm117988m < %cur%" + "\\DBDepot.sql";
     String _comExit = "exit";
     BufferedWriter _out1 = new BufferedWriter(new FileWriter("restore.bat"));
     _out1.write(_comCur);
     _out1.newLine();
     _out1.write(_comCD);
     _out1.newLine();
     _out1.write(_comando);
     _out1.newLine();
     _out1.write(_comExit);
     _out1.close();


     Process _p = Runtime.getRuntime().exec("cmd /C start restore.bat");

     int _res = _p.waitFor();


     while (!(((new File(_currentpath)).delete()) && ((new File((new File(".")).getCanonicalPath() + File.separator + "restore.bat")).delete()))) {
     }

     if (_res != 0) {
        return false;
     }

     return true;
  } catch (Exception err) {
     System.out.println(err);
  }

  return false;

}

Пожалуйста, помогите мне!

1 Ответ

1 голос
/ 18 февраля 2012

Это связано с вашим использованием start.

Удалить start, только оставить

Process _p = Runtime.getRuntime().exec("cmd /C restore.bat");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...