以下是我的代码。我不知道为什么它不工作。调试完成后,我发现 runtimeProcess返回“java.lang .ProcessImpl @ 1afe17b“和processComplete返回 1.我认为我无法构建我传递给.exec的命令。请帮助我。mysqldump.exe正在通过java调用mysqldump exe时创建空白的mysql数据库备份文件
public static boolean backupDB(String Database, String Dbuser, String Password) throws IOException, InterruptedException
{
Process runtimeProcess;
try{
runtimeProcess = Runtime.getRuntime().exec(new String[]{"cmd.exe", "/C","C:\\Program Files\\MySQL\\MySQL Server 5.5\\bin\\mysqldump.exe -u"+Dbuser+" -p"+Password+Database+" >F:\\backup.sql"});
System.out.println(runtimeProcess);
int processComplete = runtimeProcess.waitFor();
System.out.println(processComplete);
if (processComplete == 0) {
System.out.println("Backup created successfully");
return true;
}
else{
System.out.println("Could not create the backup");
}
}catch (Exception ex)
{
ex.printStackTrace();
}
return false;
+0
为什么你使用运行时优先使用ProcessBuilder –
+0
好吧,也会试用ProcessBuilder。感谢您的建议。 –