java - 等到 DOS 命令执行完成 - Java

标签 java mysql import wait dump

我正在尝试在 MySQL 数据库中导入大量 .dmp 文件,由于有超过 250 个文件需要导入,我编写了一个应用程序来自动执行 250 个文件+ DOS 命令。它的代码:

String baseCommand = "cmd /c MySQL -h localhost -u root amateurstable < ";
Process p = Runtime.getRuntime().exec(baseCommand + filePath);

它确实执行了它应该执行的命令。问题是一些 .dmp 文件大于 100MB,但上面的代码并没有等到命令执行完成。

当它为一个大文件执行导入命令时,它不会等到导入结束并立即执行下一个命令。这在计算机的响应能力方面引起了很多麻烦。

问题是如何让它等到命令执行完成?

最佳答案

Runtime.exec 返回 Process具有 waitFor() 方法的对象。

waitFor() causes the current thread to wait, if necessary, until the process represented by this Process object has terminated.

因为你已经有了那个 Process 对象,你可以添加对 waitFor() 的调用

Process p = Runtime.getRuntime().exec(baseCommand + filePath);
p.waitFor();

关于java - 等到 DOS 命令执行完成 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8165187/

相关文章:

c - 如何使用 Eclipse 将额外的源代码添加到导入的现有 makefile 项目中?

java - 要为我的网站制作一个体面到高质量的移动版本?

java - 线程中的异常

mysql - 从 3 个关系表中获取数据

MySQL ON DUPLICATE KEY UPDATE with JOIN for multiple rows insert in single query

sql - 如何将 BIG SQL 文件导入到 Rails 数据库中?

java - 在另一个 java 文件中从一个文件扩展一个 java 类

java - Java 中对象的自定义字符串表示

java - 当写入和刷新过多且过快时,Netty Channel 会失败

64 位 MySQL 的 PHP 年份 2038 问题无法通过 PHPMyAdmin 插入日期