java代码写备份数据库方法

来源:互联网 发布:手机录音软件排行 编辑:程序博客网 时间:2024/05/21 10:53

一:java代码

package test;


import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.TimerTask;
import org.apache.log4j.Logger;
import org.junit.Test;


public class Testt {


@Test
public void test() {
backup(); // 备份数据库方法
System.out.println("备份数据库成功!");
}


public void backup() {
String sqlurl = "D://mysql-5.6.24-win32//bin//mysqldump studs -h localhost -uroot -proot";// MySql的安装bin目录路径和dump数据库等参数
String path = "F:/test.sql"; // 保存备份文件的路径及名称
try {
Process p = Runtime.getRuntime().exec(sqlurl); // 返回与当前的Java应用程序的运行时对象
InputStream in = p.getInputStream(); // 控制台的输出信息作为输入流
InputStreamReader xx = new InputStreamReader(in, "utf-8");// 设置输出流编码为utf-8。这里必须是utf-8,否则从流中读入的是乱码
StringBuffer sb = new StringBuffer("");
String inStr;
String outStr;
// 组合控制台输出信息字符串
BufferedReader br = new BufferedReader(xx);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
FileOutputStream out = new FileOutputStream(path);
OutputStreamWriter writer = new OutputStreamWriter(out, "utf-8");
writer.write(outStr);
writer.flush();
in.close();
xx.close();
br.close();
writer.close();
out.close();
System.out.println("123");
} catch (Exception e) {
e.printStackTrace();
}
}
}

二:结果




原创粉丝点击