gpt4 book ai didi

java - 从 Windows 7 使用 Runtime.getRuntime().exec(cmd) 调用 "mysqldump"

转载 作者:行者123 更新时间:2023-11-29 04:20:47 24 4
gpt4 key购买 nike

我正在尝试通过以下方式在我的 Java 应用程序中转储 MySQL 数据库:

String[] command = new String[] {"cmd.exe", "/c", "C:/mysql/mysqldump.exe" --quick --lock-tables --user=\"root\" --password=\"mypwd\" mydatabase > \"C:/mydump.sql\""};
Process process = Runtime.getRuntime().exec(command);
int exitcode = process.waitFor();

进程失败,退出代码为 6。我在某处读到操作数“>”未正确解释,并且提示使用“cmd.exe/c”作为前缀。但它仍然不起作用。

有什么想法吗?

最佳答案

是的,你是对的,几天前我制作了从 MySQL 导出数据库的类(class)......您可以从控制台读取输出流,然后写入文件

    String[] command = new String[] {"cmd.exe", "/c", "\"C:/Program Files/MySQL/MySQL Server 5.6/bin/mysqldump.exe\" --quick --lock-tables --user=\"root\" --password=\"mypwd\" mydatabase "};
Process process = Runtime.getRuntime().exec(command);
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((line = input.readLine()) != null) {

System.out.println(line); //there you can write file
}
input.close();

最好的问候

关于java - 从 Windows 7 使用 Runtime.getRuntime().exec(cmd) 调用 "mysqldump",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com