Java读取CSV文件内容到数据库

CSV文件主要是以逗号分割数据的,代码如下:

File csv = new File("E:\\GeoIP2-City-Locations-en.csv"); // CSV文件路径
			BufferedReader br = null;
			br = new BufferedReader(new FileReader(csv));
			String line = "";
			String everyLine = "";
			int num = 0;
			
			ArrayList<Geoip2CityLlocations> list = new ArrayList<>();
			while ((line = br.readLine()) != null) { // 读取到的内容给line变量

				

				Geoip2CityLlocations gcl = new Geoip2CityLlocations();

				everyLine = line;
				
				if (everyLine.contains(", ")) {
					everyLine = everyLine.replace(", ", ";");
				}
				
				String[] split = everyLine.split(",");
				if (split[0].equals("geoname_id")) {
					continue;
				}
				if (StringUtils.isNotBlank(split[0])) {
					gcl.setGeonameID(Integer.valueOf(split[0]));
				}
				
				
				gcl.setLocaleCode(split[1]);
				gcl.setContinentCode(split[2]);
				gcl.setContinentName(split[3].replace("\"", "").replace("\"", ""));
				gcl.setCountryIsoCode(split[4]);
				gcl.setCountryName(split[5].replace("\"", "").replace("\"", ""));
				gcl.setSubdivision1IsoCode(split[6]);
				gcl.setSubdivision1Name(split[7].replace("\"", "").replace("\"", ""));
				gcl.setSubdivision2IsoCode(split[8]);
				gcl.setSubdivision2Name(split[9].replace("\"", "").replace("\"", ""));
				gcl.setCityName(split[10].replace("\"", "").replace("\"", ""));
				gcl.setMetroCode(split[11]);
				gcl.setTimeZone(split[12]);
				gcl.setIsInEuropeanUnion((split[13]));
				list.add(gcl);
			//	testMapper.insert(gcl);
				
				if (list.size() % 1000 == 0) {
					geoip2CityLlocationsMapper.insertList(list);
					num++;
					list.clear();
				}
				
				if(num ==129 && list.size() == 20)  {
					geoip2CityLlocationsMapper.insertList(list);
				}
			}
			

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值