java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中相关的知识,希望对你有一定的参考价值。
java新建一个列名为(group,layer,one,two,three,four)的数据表,文本文档如图,要求能够实现只将这样的数据1 1 10.0 15.2 16.5 16.5作为一条记录插入表中,把其他没用的都忽略掉。
假设sqlserver数据库DatabaseName=master,user = "sa",password = "root"
数据库中表temperature中group,layer列为int类型,one,two,three,four列为float类型
源文件名为sourcefile.txt
我用正则表达式,帮你把数据导入到SQLServer中了,完整的Java程序如下:
import java.io.BufferedReader;import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CCA
//SQLServer
private String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//加载驱动程序
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";//设置数据库连接串 master为数据库名
private String user = "sa";//数据库登录用户名
private String password = "root";//数据库登录密码
public Connection getConnection()
try
Class.forName(driverName);
return DriverManager.getConnection(url, user, password);
catch (Exception e)
e.printStackTrace();
return null;
public static void main(String[] args)
CCA dcm = new CCA();
String sql = "insert into temperature(group,layer,one,two,three,four) values(?,?,?,?,?,?)";
Connection conn=null;
PreparedStatement ps=null;
BufferedReader br=null;
try
conn = dcm.getConnection();
br=new BufferedReader(new FileReader("sourcefile.txt"));
String s="";
String regex="(\\\\d+)\\\\s+(\\\\d+)\\\\s+(\\\\d+\\\\.\\\\d+)\\\\s+(\\\\d+\\\\.\\\\d+)\\\\s+(\\\\d+\\\\.\\\\d+)\\\\s+(\\\\d+\\\\.\\\\d+)";
while((s=br.readLine())!=null)
s=s.trim();
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
if(m.matches())
//System.out.println(m.group(1)+" "+m.group(2)+" "+m.group(3)+" "+m.group(4)+" "+m.group(5)+" "+m.group(6));
ps=conn.prepareStatement(sql);
ps.setInt(1, Integer.parseInt(m.group(1)));
ps.setInt(2, Integer.parseInt(m.group(2)));
ps.setFloat(3, Float.parseFloat(m.group(3)));
ps.setFloat(4, Float.parseFloat(m.group(4)));
ps.setFloat(5, Float.parseFloat(m.group(5)));
ps.setFloat(6, Float.parseFloat(m.group(6)));
ps.executeUpdate();
System.out.println("数据插入完毕!");
catch (FileNotFoundException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
catch (SQLException e)
e.printStackTrace();
finally
try
ps.close();
conn.close();
br.close();
catch (Exception e)
e.printStackTrace();
运行结果:
数据插入完毕!
电脑右键新建文本文档(txt)消失的解决办法
其实只需要一个注册表就可以了
下载地址http://pan.baidu.com/s/1hr7r0fM
拿走不谢!
注册表的内容是这样的,你也可以新建一个文件把后缀名改成.reg然后把下面的内容copy进去,保存运行就可以了
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.txt]
@="txtfile"
"PerceivedType"="text"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""
[HKEY_CLASSES_ROOT\txtfile]
@="文本文档"
[HKEY_CLASSES_ROOT\txtfile\shell]
[HKEY_CLASSES_ROOT\txtfile\shell\open]
[HKEY_CLASSES_ROOT\txtfile\shell\open\command]
@="NOTEPAD.EXE %1"
以上是关于java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中的主要内容,如果未能解决你的问题,请参考以下文章