200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > txt文件内容导入mysql数据库中_将txt文件导入mysql数据库

txt文件内容导入mysql数据库中_将txt文件导入mysql数据库

时间:2020-02-19 04:08:24

相关推荐

txt文件内容导入mysql数据库中_将txt文件导入mysql数据库

楼主因为要对一些存在txt文件里的文件加入到数据库,但是一些一些已经存在的方法我都试过了,都不成功,无奈之下只好用java编写了一段程序来导入数据;

但中间出现了汉字乱码问题,解决方法如下:

1.将txt文件的编码设为utf8;

2.将数据库的编码格式设为utf8;语句如下:SET character_set_database = utf8 ;set names utf8

3.将eclipse工程的编码格式设为utf8;语句如下:找到工程,右击,properties,resources,设置编码为utf8

具体的代码如下:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.lang.reflect.*;;

public class JdbcStudy {

private String url = "jdbc:mysql://localhost:3306/bigdata";

private String user="root";

private String password="ROOT";

BufferedReader br;

Connection con;

public void test() throws SQLException, IOException {

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

try {

con = DriverManager.getConnection(url, user, password);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

PreparedStatement ps=con.prepareStatement("insert into data values(?,?,?,?,?,?,?,?)");

br=new BufferedReader (new FileReader("f:/gd_train_data.txt"));

String str=null;

String s[]=new String[7];

int i=1;

while ((str=br.readLine())!=null){

s=str.split(",");

ps.setInt(1, i++);

ps.setString(2, s[0]);

ps.setString(3, s[1]);

ps.setString(4, s[2]);

ps.setString(5, s[3]);

ps.setString(6, s[4]);

ps.setString(7, s[5]);

ps.setString(8, s[6]);

ps.executeUpdate();

}

br.close();

ps.close();

con.close();

}

public static void main(String[] args) {

// TODO Auto-generated method stub

JdbcStudy JS=new JdbcStudy();

try {

JS.test();

} catch (SQLException | IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。