开始在网上看了好多文章,都是通过获取执行CMD /C mysqldump -u* -p dataname命令后的的PROCESS的输出流来执行的,调试了个把小时 每次都是空文件,于是想到windows下面的导出命令 就写出来了,没有一点问题 拿出来给大家看下 可以提意见!调试通过
/**
* windows执行备份数据库命令 数组依次:用户名 密码 备份数据库名字 备份地址
* @param args
* @return
* @throws java.io.IOException
*/
public int windows_ExcBakSql(String args[]) throws IOException {
String[] excSql = args;
Runtime rt = Runtime.getRuntime();
String str = "cmd.exe /c mysqldump -u" + excSql[0] + " -p" + excSql[1] + " --opt " + excSql[2]+ " > "+excSql[3];
System.out.println(str);
Process pcs = rt.exec(str);
BufferedReader br = new BufferedReader(new InputStreamReader(pcs.getInputStream()));
String line = new String();
while ((line = br.readLine()) != null) {
System.out.println(line);
}
try {
pcs.waitFor();
} catch (InterruptedException e) {
System.err.println("processes was interrupted");
}
br.close();
return pcs.exitValue();
}
本文介绍了一种在Windows环境下使用Java实现MySQL数据库备份的方法。通过执行mysqldump命令并处理其输出流,实现了数据库的备份功能。该方法经过调试验证可行。
1万+

被折叠的 条评论
为什么被折叠?



