以下是我的代碼。我不知道爲什麼它不工作。調試完成後,我發現 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;
爲什麼你使用運行時優先使用ProcessBuilder –
好吧,也會試用ProcessBuilder。感謝您的建議。 –