日期:2014-05-16 浏览次数:20393 次
import java.io.*; public class BackupAndLoad { public static void main(String[] args) { backup(); load(); }
?
/** * 备份检验一个sql文件是否可以做导入文件用的一个判断方法:把该sql文件分别用记事本和ultra * edit打开,如果看到的中文均正常没有乱码,则可以用来做导入的源文件(不管sql文件的编码格式如何,也不管db的编码格式如何) */ public static void backup() { String user = "root"; // 数据库帐号 String password = "70689341"; // 登陆密码 String database = "finacing"; // 需要备份的数据库名 String filepath = "e:\\finacing.sql"; // 备份的路径地址 String stmt1 = "mysqldump " database " -u " user " -p" password " --default-character-set=gb2312 --result-file=" filepath; //--default-character-set这儿设为你安装数据库时所选择的语言,比如说你安装MySQL里用的默认的UTF-8,这儿 //就设为UTF8,若是gb2312的话应设为gb2312,如果这儿设得不对的话,你用ultraedit打开这个备份后的sql文件时, //中文部分显示乱码。 try { Runtime.getRuntime().exec(stmt1); System.out.println("数据已导出到文件" filepath "中"); } catch (IOException e) { e.printStackTrace(); } } /** * 导入 * */ public static void load() { String filepath = "e:\\finacing.sql"; // 备份的路径地址 // 新建数据库finacing String stmt1 = "mysqladmin -u root -p70689341 create finacing"; //-p后面加的是你的密码 String stmt2 = "mysql -u root -p70689341 finacing < " filepath; String[] cmd = { "cmd", "/c", stmt2 }; try { Runtime.getRuntime().exec(stmt1); Runtime.getRuntime().exec(cmd); System.out.println("数据已从 " filepath " 导入到数据库中"); } catch (IOException e) { e.printStackTrace(); } } }
?