txt文件插入数据到数据库

本文介绍了一个文件上传过程中的过滤机制实现,并详细展示了如何从特定格式的文本文件中读取数据并进行验证及数据库存储的过程。重点在于使用JavaScript进行前端文件类型限制,以及后端Java代码对上传文件内容的逐行解析、数据校验和存储。

页面获取

function test(obj,filter){ 
path=obj.value;    、、路径
file = obj.value.match(/[^\/\\]+$/gi)[0];     //文件名

    var rx = new RegExp('\\.(' + (filter?filter:'') + ')$','gi');
    if(filter&&file&&!file.match(rx)){
      alert("只能选择txt");
      pageRefresh();
      //重新构建input file
    }
    
  }

 <input type="file"  name="file" id="t" onchange="test(this,'txt');"/></font>
                         </td>
                          <td>
          <input type="button" value="导入" icon="icon_query" onclick="sub()">



                       BufferedReader input;
String file=request.getParameter("file1");
String path=request.getParameter("path");
path=path.replace("\\", "\\\\");// path=path.replaceAll("\\\\", "\\\\\\\\");
int i=0;
List<ImportTxt> importTxt=importTxtManager.selectList();
List<String> errors = new ArrayList<String>();
try {
  String s = new String();
  input = new BufferedReader(new FileReader(path));
  while ((s = input.readLine()) != null) { // 判断是否读到了最后一行
  i++;///20到993
  if(i>1&&i<8){   
  String[] info = s.split("\\s+");//区分多个空格的方法
  ImportTxt ss=new ImportTxt();
for(ImportTxt cc:importTxt){
if(cc.getChange_code().equals(info[1])){
errors.add("第"+i+"行插入失败,数据重复");
}
}
if(errors.size()==0){
ss.setChange_name(info[0]);
 ss.setChange_code(info[1]);
 ss.setChange_type(info[2]);
 ss.setUnit(info[3]);
 ss.setFormat(Double.parseDouble(info[4]));
 ss.setMin(Double.parseDouble(info[5]));
 ss.setMax(Double.parseDouble(info[6]));
 ss.setThreshold(info[7]);
 ss.setInitial_value(Double.parseDouble(info[8]));
 ss.setFina(Double.parseDouble(info[9]));
 ss.setGuide(Integer.valueOf(info[10]));
 ss.setStatus("1");
 this.importTxtManager.save(ss);
}else{
request.setAttribute("errorInfos", errors);
}
  }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值