匿名用户

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数据库的导入导出相关推荐

  1. MySQL入门_实战3_创建和删除数据库

    MySQL入门_实战系列文章目录 MySQL入门_实战1 MYSQL安装和卸载 MySQL入门_实战2 MYSQL的登录和断开以及SQL查询常见问题 文章目录 MySQL入门_实战系列文章目录 前言 ...

  2. 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...

     本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较    (三)SSIS的简介    (四)数据库中存储过程示例(SSIS应用需要) (五)Excel模板的制作(这步这么简单,稍微介 ...

  3. 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转...

    效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载])  本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较    ( ...

  4. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

  5. java垃圾回收机制_乐字节Java|GC垃圾回收机制、package和import语句

    本文接上一篇:乐字节Java|this关键字.static关键字.block块.本文是接着讲述JavaGC垃圾回收机制.package 和 import语句. 一.GC垃圾回收机制 GC全名:Garb ...

  6. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  7. java 集成开发工具_最好的Java开发人员测试和集成工具

    java 集成开发工具 通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控. 参加AppDynamics APM导览! 无论您是刚刚起步还是已经从事了一段时间,使用正确的工具进行编程都可 ...

  8. java ee是编程语言_什么是Java编程语言?

    java ee是编程语言 什么是Java? (What is Java?) Java is an Object-Oriented Programming Language. It was first ...

  9. Java web 服务器 搭建_搭建一个java web服务端

    最近也是做了一个简单的java web 项目,由于以前也是没接触过,在这里记录下搭建一个web服务端的过程. 一般我们做一个服务端要么在本地自己的电脑上先安装环境,一般是windows系统,主要安装j ...

最新文章

  1. 【摄像头】宽动态范围
  2. Error in **: incorrect number of subscripts on matrix
  3. 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证
  4. 论文笔记 Bayesian Probabilistic Matrix Factorizationusing Markov Chain Monte Carlo (ICML 2008)
  5. 淘宝技术发展(Java时代:脱胎换骨)
  6. python解析excel公式_[python][openpyxl]读取excel中公式的结果值
  7. Web浏览器端通过https 使用mqtt通讯
  8. python股票网格交易法详解_股票最全“低买高卖”网格交易大法,值得收藏!
  9. 安装go client调用Kubernetes API
  10. openmp 互斥锁 mysql_OpenMP(四)线程同步之互斥锁函数
  11. Hibernate二级缓存——SessionFactory
  12. android 修改 dpi_努比亚 Z11|魔趣100|安卓10.0|归属地|机型修改|性能调整|稳定流畅...
  13. 向Spring大佬低头——大量源码流出解析
  14. isupper函数用法
  15. s3c6410 开发板Linux系统支持 K9GAG08U0E的方法(第二篇)
  16. matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等
  17. 【论文阅读】MLO: Multi-Object Tracking and Lidar Odometry in Dynamic Environment
  18. 2015浙大计算机考研,2015浙大计算机考研机试题解.pdf
  19. Django应用及分布式路由
  20. 音乐家们的开源工具箱

热门文章

  1. 使用java类加载器,报异常java.nio.file.InvalidPathException
  2. 解决windows系统无法对docker容器进行端口映射的问题
  3. 升级glic: 解决“libc.so.6: version ‘GLIBC_2.14‘ not found“问题
  4. POI报表入门,excel,使用事件模型解析百万数据excel报表
  5. linux如何查icsci进程,linux13问
  6. 用java写猜拳游戏,Java写人机猜拳游戏(可扩展其他游戏或其他参与者)
  7. html标签学习日记之(表格table)
  8. 使用Mysql进行分页与排序
  9. AWT_事件监听2(Java)
  10. 2.73 交叉编译python_Python这么火,要不要学?听听华为工程师怎么说...