java实现 mysql导入_怎么用java实现mysql数据库的导入导出
匿名用户
1级
2018-11-21 回答
使用Java实现对MySql数据库的导入与导出
package com.project.ajaxs;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Calendar;
import java.util.Date;
public class BakMysql {
//main的方法,主要是我用于测试的,是想着取得CLASS的路径,然后备份的文件写在服务器的类路径下
public static void main(String[] args) {
BakMysql bk = new BakMysql();
bk.backup();
// bk.load();
}
//backup方法是备份数据库到服务器地址
public void backup() {
Calendar now = Calendar.getInstance();
String name = now.getTime()+""+(now.getTime().getMonth()+1)+""+now.getTime().getDate();
String filename = name.substring(24)+" "+name.substring(11,13)+""+name.substring(14,16)+""+name.substring(17,19);
try {
String filePath ="e:/project"+filename+".sql";
Runtime rt = Runtime.getRuntime();
// 调用 mysql 的 cmd:
Process child = rt.exec("C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump.exe -uroot -p8095longchun project");// 设置导出编码为utf8。这里必须是utf8
//注意这一句,是指运行mysqldump命令,后面跟的是登录名和登录的密码,接着后面的是指备份的数据库的名字,到此结束,以此生成一个执行的进程,取得此进程的输出流到我们要备份的文件
// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
InputStream in = child.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader xx = new InputStreamReader(in, "utf-8");// 设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
// 组合控制台输出信息字符串
BufferedReader br = new BufferedReader(xx);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();//备份出来的内容是一个字条串
// 要用来做导入用的sql目标文件:
FileOutputStream fout = new FileOutputStream(filePath);
OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
writer.write(outStr);//写文件
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
// 别忘记关闭输入输出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//数据库的导入
public void load() {
try {
String fPath = "e:/aa.sql";
Runtime rt = Runtime.getRuntime();
Process child = rt.exec("C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqladmin.exe -uroot -p8095longchun create project");
Process child1 =rt.exec("C:/Program Files/MySQL/MySQL Server 5.0/bin/mysql.exe -uroot -p8095longchun project");
OutputStream out = child1.getOutputStream();//控制台的输入信息作为输出流
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fPath), "utf-8"));
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
writer.write(outStr);
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
out.close();
br.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}原文来自http://www.cnblogs.com/duanxz/archive/2012/11/19/2777782.html
java实现 mysql导入_怎么用java实现mysql数据库的导入导出相关推荐
- MySQL入门_实战3_创建和删除数据库
MySQL入门_实战系列文章目录 MySQL入门_实战1 MYSQL安装和卸载 MySQL入门_实战2 MYSQL的登录和断开以及SQL查询常见问题 文章目录 MySQL入门_实战系列文章目录 前言 ...
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...
本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较 (三)SSIS的简介 (四)数据库中存储过程示例(SSIS应用需要) (五)Excel模板的制作(这步这么简单,稍微介 ...
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转...
效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载]) 本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较 ( ...
- 新手学java 学哪方面_初学者学Java应从哪些方面学习?
原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...
- java垃圾回收机制_乐字节Java|GC垃圾回收机制、package和import语句
本文接上一篇:乐字节Java|this关键字.static关键字.block块.本文是接着讲述JavaGC垃圾回收机制.package 和 import语句. 一.GC垃圾回收机制 GC全名:Garb ...
- java获取机器号_(转)JAVA获得机器码的实现
http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码 收藏代码 /** *生成机 ...
- java 集成开发工具_最好的Java开发人员测试和集成工具
java 集成开发工具 通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控. 参加AppDynamics APM导览! 无论您是刚刚起步还是已经从事了一段时间,使用正确的工具进行编程都可 ...
- java ee是编程语言_什么是Java编程语言?
java ee是编程语言 什么是Java? (What is Java?) Java is an Object-Oriented Programming Language. It was first ...
- Java web 服务器 搭建_搭建一个java web服务端
最近也是做了一个简单的java web 项目,由于以前也是没接触过,在这里记录下搭建一个web服务端的过程. 一般我们做一个服务端要么在本地自己的电脑上先安装环境,一般是windows系统,主要安装j ...
最新文章
- 【摄像头】宽动态范围
- Error in **: incorrect number of subscripts on matrix
- 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证
- 论文笔记 Bayesian Probabilistic Matrix Factorizationusing Markov Chain Monte Carlo (ICML 2008)
- 淘宝技术发展(Java时代:脱胎换骨)
- python解析excel公式_[python][openpyxl]读取excel中公式的结果值
- Web浏览器端通过https 使用mqtt通讯
- python股票网格交易法详解_股票最全“低买高卖”网格交易大法,值得收藏!
- 安装go client调用Kubernetes API
- openmp 互斥锁 mysql_OpenMP(四)线程同步之互斥锁函数
- Hibernate二级缓存——SessionFactory
- android 修改 dpi_努比亚 Z11|魔趣100|安卓10.0|归属地|机型修改|性能调整|稳定流畅...
- 向Spring大佬低头——大量源码流出解析
- isupper函数用法
- s3c6410 开发板Linux系统支持 K9GAG08U0E的方法(第二篇)
- matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等
- 【论文阅读】MLO: Multi-Object Tracking and Lidar Odometry in Dynamic Environment
- 2015浙大计算机考研,2015浙大计算机考研机试题解.pdf
- Django应用及分布式路由
- 音乐家们的开源工具箱
热门文章
- 使用java类加载器,报异常java.nio.file.InvalidPathException
- 解决windows系统无法对docker容器进行端口映射的问题
- 升级glic: 解决“libc.so.6: version ‘GLIBC_2.14‘ not found“问题
- POI报表入门,excel,使用事件模型解析百万数据excel报表
- linux如何查icsci进程,linux13问
- 用java写猜拳游戏,Java写人机猜拳游戏(可扩展其他游戏或其他参与者)
- html标签学习日记之(表格table)
- 使用Mysql进行分页与排序
- AWT_事件监听2(Java)
- 2.73 交叉编译python_Python这么火,要不要学?听听华为工程师怎么说...