package com.tideway.readtxt;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List; public class ReadTXT {
public static List<String> trim(String[] source){
List<String> list = new ArrayList<String>();
      //循环遍历得到的行文件,加入到list中
for(String item : source){
if(null==item||"".equals(item))
continue;
list.add(item);
}
return list;
}
public static void main(String[] args) {
int read = 0;
int write = 0;
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null; // 用于包装InputStreamReader,提高处理性能。因为BufferedReader有缓冲的,而InputStreamReader没有。
try {
String str = "";
fis = new FileInputStream("e:\\AGL_001.TXT");// FileInputStream
// 从文件系统中的某个文件中获取字节
isr = new InputStreamReader(fis);// InputStreamReader 是字节流通向字符流的桥梁,
br = new BufferedReader(isr);// 从字符输入流中读取文件中的内容,封装了一个new
// InputStreamReader的对象
while ((str = br.readLine()) != null) {
//截取得到的一行数据
String[] parms = str.split("\t");
//跳过第一行
if(parms[0].equals("No")) continue;
//把得到的数据放进list
List<String> list = trim(parms);
read++;
          //调用添加方法,把list的第1,3,4,7条数据加入到mysql
write+=JDBCAdd.Insert(list.get(0),list.get(2),list.get(3),list.get(6));
}
        //记录下读了/写了多少条数据
System.out.println("read="+read+"; write="+write);
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch (IOException e) {
System.out.println("读取文件失败");
} finally {
try {
br.close();
isr.close();
fis.close();
// 关闭的时候最好按照先后顺序关闭最后开的先关闭所以先关s,再关n,最后关m
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

读取txt文件,添加到list中,读取一条向数据库中添加一条。

添加操作:

package com.tideway.readtxt;

import java.sql.Connection;
import java.sql.PreparedStatement; public class JDBCAdd { public static int Insert(String... parms){
Connection conn=null;
PreparedStatement preStatement=null;//创建PreparedStatement对象
try {
//1、准备Connection连接数据库
conn=JDBCTools.getConnection();
//2、准备sql语句
//sql语句不再采用拼接方式,应用占位符问号的方式写sql语句。
String sql="insert into t_attendance(id,EnID,Name,DateTime) values(?,?,?,?)";
//3、准备prepareStatement
//对占位符设置值,占位符顺序从1开始,第一个参数是占位符的位置,第二个参数是占位符的值。
preStatement=conn.prepareStatement(sql);
//4、占位符设置值
for(int i=0;i<parms.length;i++){
preStatement.setObject(i+1, parms[i]);
}
//5、执行sql
return preStatement.executeUpdate(); } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return 0;
}finally{
//6、关闭数据库等
JDBCTools.closeConnection(null, preStatement, conn);
}
}
}

数据库连接的方法:

package com.tideway.readtxt;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; public class JDBCTools { /**
* 功能:JDBC连接数据库
* @return
* @throws Exception
*/
public static Connection getConnection() throws Exception{
//创建Properties对象
Properties pro=new Properties();
//获取输入流
InputStream in=
JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");
//加载输入流
pro.load(in); String driver=pro.getProperty("driver");
String jdbcUrl=pro.getProperty("jdbcUrl");
String user=pro.getProperty("user");
String password=pro.getProperty("password");
//加载数据库驱动程序
Class.forName(driver);
//通过DriverManager的getConnection()方法获取数据库连接
Connection conn=DriverManager.getConnection(jdbcUrl, user, password);
return conn;
}
/**
* 功能:关闭数据库连接
* @param rs
* @param statement
* @param conn
*/
public static void closeConnection(ResultSet rs,Statement statement,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(statement!=null){ try {
statement.close();
} catch (Exception e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (Exception e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
}
}

java读取记事本文件的部分数据添加到mysql的更多相关文章

  1. java读取记事本文件第一个字符遇到的一个坑

    记事本数据是这样的: Faq_faqTitle=常见问题_标题Faq_faqKeyword=关键字Faq_faqDescription=FAQ描述...... 文件编码:utf-8有签名 然后用jav ...

  2. java读取TXT文件中的数据

    将文件放在一个指定的磁盘目录下: File file = new File("指定的文件路径"); try{ BufferedReader br = new BufferedRea ...

  3. java 读取Excel文件并数据持久化方法Demo

    import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util ...

  4. java读取CSV文件添加到sqlserver数据库

    在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...

  5. java 读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  6. java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .

    背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...

  7. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  8. Java读取txt文件信息并操作。

    一.java读取txt文件内容 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.Fi ...

  9. selenium java读取csv文件 (数据驱动)

    javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...

随机推荐

  1. javascrit2.0完全参考手册(第二版) 第2章第4节 基本的数据类型

    每一个变量都有一个确定的类型表明它存储什么样的数据.js基本的数据类型有strings字符串.numbers数字.Booleans布尔类型.字符串是使用双引号或单引号包含的一串字符:数字包括整数或浮点 ...

  2. jquery插件jquery.LightBox.js之点击放大图片并左右点击切换图片(仿相册插件)

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的点击放大图片并左右点击切换图片的效果,您可以根据自己的实 ...

  3. web.xml的一份配置(备忘)

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java ...

  4. 【8.0、9.0c】树形列表 列标题 不对齐的问题及解决方案

    树形视图状态经常会碰到字体上下排列不整齐的问题,虽不是什么大问题,但对某些处女座的人来说,真的是如鲠在喉,今天我们就来解决这个问题: 首先呢,这个问题的起因,不是前端css的问题,也不是js的问题,而 ...

  5. DOS运行命令

    运行命令主要是DOS操作系统的运行方式.DOS时代的时候,为了方便用户的操作,微软公司将一些常用的命令,如DIR,CD等命令全部集成在系统里面. 基本定义 对于DOS来说是一个很大的优点.而存放这些内 ...

  6. PHP168 6.0及以下版本login.php代码执行

    在其域名后加上这样一段代码: login.php?makehtml=1&chdb[htmlname]=xx.php& chdb[path]=cache&content=< ...

  7. super()和this()的区别

    1)调用super()必须写在子类构造方法的第一行,否则编译不通过.每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错. 2)supe ...

  8. FTP目录或文件名有中文时导致,下载失败的问题

    在FTPClient ftpClient = new FTPClient()代码后, ftpClient.connect(url,port)代码前, 调用ftpClient.setAutodetect ...

  9. jquery ui bootstrap日期插件

    http://blog.csdn.net/php_897721669/article/details/7404527 搜索“jquery ui日期插件怎么显示年份”? $("#datepic ...

  10. eclipse 导入web项目后,线程假死

    eclipse 导入web项目后,就出现关闭后,线程还存在的情况.使用java mission control 查看发现java script indexing线程在running. 关闭js验证后, ...