【Java】Java运行cmd命令直接导出.sql文件

时间:2021-02-15 16:16:12
  • Java中的Runtime.getRuntime().exec(commandStr)可以调用执行cmd命令
 package Util;

 import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date; public class ExportSqlUtil {
public static void main(String[] args) {
try {
backup("root","950906","station");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean backup(String username,String password,String database){
boolean bool = false;
String sqlFilename = database+"_" + new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss").format(new Date()) + ".sql";
String cmd = "mysqldump -u "+username+" -p"+password+" --opt "+database+" > d:/"+sqlFilename; try {
Process p = Runtime.getRuntime().exec("cmd /C" + cmd);
p.waitFor();
bool = true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bool;
}
}
  • 其中Process新建进程p,表示当前线程等待process这个线程执行完毕后,继续向下执行。