解析固定格式txt文件插入数据库
2012-08-17 15:28
351 查看
朝阳区
车龙汽车装饰(望京店)
南湖西园502号院中广宜景湾底商
4000052365
null
8:30-18:30
39.904214, 116.40741300000002
昌平区
京杰汽车服务
文华路龙锦苑四区2号楼底商
010-81746257
null
尚无营业时间
40.0822929, 116.34415969999998
丰台区
贝贝鱼汽车座套
公益西桥城南大道2座801室
18600019317
null
8:00—18:00
39.835887, 116.37078099999996
丰台区
金诚都汽车用品商行(草桥店)
草桥汇丰汽配城5排13号
010-51751365
null
尚无营业时间
39.904214, 116.40741300000002
大兴区
龙百特汽车用品
黄鹅路3号
010-52837324
null
早8:30—晚4:30
39.7524077, 116.28156289999992
海淀区
琪朗汽车美容中心(清河店)
清河小营环岛西北侧通厦汽配城1楼109号
010-60605109
null
8:30——18:00
40.0287122, 116.36658820000002
------------------------------------------------------------------------------------------------------------
小部分固定txt文件
代码实现思路
1.逐行读取txt文件加入到list集合
2.循环list集合 把数据封装到bean类中
3.由于信息有7行第8行是空格 bean定义8个属性 循环给BEAN类赋值
4.把赋值后的对象加入list集合中 把属性list清空 变量赋值 continue重新赋值
5.返回对象集合
public List<ShopInfo> readFile(String file){//String file 为文件路径
List list=new ArrayList();//保存每组信息的list集合
List<ShopInfo> shopList=new ArrayList<ShopInfo>();//保存shopinfo对象的集合
ShopInfo shop =null;
int count=1;//定义循环的变量
String line;
File f = new File(file);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
//逐行读取
while((line = br.readLine())!=null){
list.add(line);
count++;
if(count%9==0){
//循环创建对象并赋值
shop=new ShopInfo();
shop.setDistrict((String)list.get(0));
shop.setName((String)list.get(1));
shop.setAddress((String)list.get(2));
shop.setPhone((String)list.get(3));
shop.setTel((String)list.get(4));
shop.setOpenTime((String)list.get(5));
shop.setShopInMap((String)list.get(6));
/*shop.setEmpty((String)list.get(7));*/
shopList.add(shop);
list=new ArrayList();
count=1;
continue;
}
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return shopList;
}
6.返回对象集合后遍历集合 循环中取各个属性 编写sql语句 把属性插入的sql语句中 调用操作数据库底层代码完成循环插入
@Override
public void doSave(String fileName) {
// TODO Auto-generated method stub
FileReaderDao readerDao=new FileReaderDaoImpl();
List<ShopInfo>list=readerDao.readFile(fileName);
for(int i=0;i<list.size();i++){
String str=list.get(i).getAddress();
String district=list.get(i).getDistrict();
String Name=list.get(i).getName();
String Address=list.get(i).getAddress();
String Phone=list.get(i).getPhone();
String Tel=list.get(i).getTel();
String OpenTime=list.get(i).getOpenTime();
String ShopInMap=list.get(i).getShopInMap();
String Empty=list.get(i).getEmpty();
String sql="insert into shopinfo values(shop_id.nextval,'"+district+"','"+Name+"','"+Address+"','"+Phone+"','"+Tel+"','"+OpenTime+"','"+ShopInMap+"','"+Empty+"')";
System.out.println(sql);
super.executeUpdate(sql, null);
}
}
7以后相同类型格式的文件只要修改文件所在位置String fileName就可以了
8.刚刚实现业务逻辑 还将继续修改方法 使功能更加灵活快速
车龙汽车装饰(望京店)
南湖西园502号院中广宜景湾底商
4000052365
null
8:30-18:30
39.904214, 116.40741300000002
昌平区
京杰汽车服务
文华路龙锦苑四区2号楼底商
010-81746257
null
尚无营业时间
40.0822929, 116.34415969999998
丰台区
贝贝鱼汽车座套
公益西桥城南大道2座801室
18600019317
null
8:00—18:00
39.835887, 116.37078099999996
丰台区
金诚都汽车用品商行(草桥店)
草桥汇丰汽配城5排13号
010-51751365
null
尚无营业时间
39.904214, 116.40741300000002
大兴区
龙百特汽车用品
黄鹅路3号
010-52837324
null
早8:30—晚4:30
39.7524077, 116.28156289999992
海淀区
琪朗汽车美容中心(清河店)
清河小营环岛西北侧通厦汽配城1楼109号
010-60605109
null
8:30——18:00
40.0287122, 116.36658820000002
------------------------------------------------------------------------------------------------------------
小部分固定txt文件
代码实现思路
1.逐行读取txt文件加入到list集合
2.循环list集合 把数据封装到bean类中
3.由于信息有7行第8行是空格 bean定义8个属性 循环给BEAN类赋值
4.把赋值后的对象加入list集合中 把属性list清空 变量赋值 continue重新赋值
5.返回对象集合
public List<ShopInfo> readFile(String file){//String file 为文件路径
List list=new ArrayList();//保存每组信息的list集合
List<ShopInfo> shopList=new ArrayList<ShopInfo>();//保存shopinfo对象的集合
ShopInfo shop =null;
int count=1;//定义循环的变量
String line;
File f = new File(file);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
//逐行读取
while((line = br.readLine())!=null){
list.add(line);
count++;
if(count%9==0){
//循环创建对象并赋值
shop=new ShopInfo();
shop.setDistrict((String)list.get(0));
shop.setName((String)list.get(1));
shop.setAddress((String)list.get(2));
shop.setPhone((String)list.get(3));
shop.setTel((String)list.get(4));
shop.setOpenTime((String)list.get(5));
shop.setShopInMap((String)list.get(6));
/*shop.setEmpty((String)list.get(7));*/
shopList.add(shop);
list=new ArrayList();
count=1;
continue;
}
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return shopList;
}
6.返回对象集合后遍历集合 循环中取各个属性 编写sql语句 把属性插入的sql语句中 调用操作数据库底层代码完成循环插入
@Override
public void doSave(String fileName) {
// TODO Auto-generated method stub
FileReaderDao readerDao=new FileReaderDaoImpl();
List<ShopInfo>list=readerDao.readFile(fileName);
for(int i=0;i<list.size();i++){
String str=list.get(i).getAddress();
String district=list.get(i).getDistrict();
String Name=list.get(i).getName();
String Address=list.get(i).getAddress();
String Phone=list.get(i).getPhone();
String Tel=list.get(i).getTel();
String OpenTime=list.get(i).getOpenTime();
String ShopInMap=list.get(i).getShopInMap();
String Empty=list.get(i).getEmpty();
String sql="insert into shopinfo values(shop_id.nextval,'"+district+"','"+Name+"','"+Address+"','"+Phone+"','"+Tel+"','"+OpenTime+"','"+ShopInMap+"','"+Empty+"')";
System.out.println(sql);
super.executeUpdate(sql, null);
}
}
7以后相同类型格式的文件只要修改文件所在位置String fileName就可以了
8.刚刚实现业务逻辑 还将继续修改方法 使功能更加灵活快速
相关文章推荐
- php读取txt文件并将数据插入到数据库
- php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
- 读取txt文件中的值并用myBatis将对象插入到数据库中
- php读取txt文件并将数据插入到数据库
- C# 读取txt文件中的内容,插入到数据库中(StreamReader)
- Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
- 解析iOS审核不通过返回的crash文件 TXT格式
- asp.net 2.0 页面中直接输出数据库中的txt、html文件格式流
- 采用SHELL,通过SQL LOAD导入一定格式的txt文件至数据库中
- 如果有时间,我有点想开发自己的数据库文件格式了,发现单机版游戏还没一种固定的数据库
- java读取本地txt文件并插入数据库
- 对于解析txt 格式的的文件
- JDBC批量插入txt文件中的内容到数据库
- C#读取固定文本格式的txt文件
- 将txt文件中的数据批量插入到数据库中SqlBulkCopy
- txt文件插入数据到数据库
- 利用存储过程读指定文件夹里所有txt文件,将数据插入数据库中
- java解析TXT格式文件
- springbatch 上传txt文件插入到数据库时带着一个<feff>符号
- 遍历文件夹access_log中的所有文件localhost_access_log*.txt,提取IP插入数据库中java代码