用java读txt文件内容,然后插入到数据库中去

格式如下,没列要用“ | ”分隔开

学号|姓名|年龄|职务|工资
1 |张三|33 | 经理|100

该txt文件中有多条数据,其中还要判断有几条数据
望高手赐教,定追加积分

String line = "";
File file = new File("D:/test.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
while ((line=br.readLine())!=null) {
//操作
}

可以这样读取,你是要每读取一行就插入数据库,还是全部读完再插入数据库?或者读取多少行就插入数据库,这个你可以定义一个计数变量count,每进入while循环一次就+1,然后根据这个数来判断!

line读的是一行的值,你可以先建立一个用户信息的实体类,有学号、姓名、年龄、职位、工资这几个属性,然后对line进行处理,可以用line.split("|");方法,返回一个5个元素的String数组,然后把对应的值设置到实体类,直接用hibernate或者其他方式保存该实体也行! 具体插入数据库你应该知道就不说了!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-09
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
public class Test4 {
private String id;
private String name;
private String age;
private String position;
private String money;

public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public static void main(String[] args) {
try {
BufferedReader br=new BufferedReader(new FileReader("e:\\test.txt"));
String r= br.readLine();
int count=0;
List<Test4> list=new ArrayList<Test4>();
while(r!=null){
count++;
if(count != 1){
Test4 t=new Test4();
String str[]=r.split("|");
t.setId(str[0]);
t.setName(str[1]);
t.setAge(str[2]);
t.setPosition(str[3]);
t.setMoney(str[4]);
list.add(t);
}
System.out.println(r);
r=br.readLine();
}
System.out.println("总共有"+list.size()+"条数据!");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

你现在要做的是写个批量插入语句,将List 放入数据库
第2个回答  2012-08-09
读成File对象,如果不涉及到字符编码的话,直接用BufferedReader读,new一个List<String>和计数int i = 0,用BufferedReader的readLine()按行读,每读一次i+1,数据暂放在list里,String.replace("|","")去掉“|”,然后在循环List执行SQL。
第3个回答  2012-08-09
txt格式:
学号|姓名|年龄|职务|工资
1 |张三|33 | 经理|100
2 |张三|33 | 经理|100

后台取到文件后;读取每行数据,然后:利用replaceAll替换|分隔符,之后保存就可以了
至于有几条数据,你用一个count计数器,没读取一行有效数据就加1;就可以了本回答被提问者和网友采纳
第4个回答  2012-08-09
具体过程如下:
1、使用BufferedReader逐行读取文件,逐行读取的时候判断当前是第几条数据;
2、处理读取的每行,用“ | ”将字符串分成学好,姓名等字符串;
3、将分割后的字符串插入到数据库中。
不明白的可以hi我。追问

给个邮箱 我把我的代码给你 你看一下

相似回答