JAVA开发_CSV格式文件解析
2015-05-08 16:38
447 查看
CSV格式文件解析
CSV格式文件信息校验
Csv文件单行信息校验
/** * CSV格式文件解析 * * @param fileName * @param tag * @return */ private Map parseCsvFile(String fileName, String tag, String oid_reguser) { log.info(tag + "进入解析txt/csv文件格式方法"); List parseList = new ArrayList(); Map map = new HashMap(); FileInputStream fr = null; BufferedReader br = null; try { fr = new FileInputStream(fileName); br = new BufferedReader(new InputStreamReader(fr, "GBK")); String firstLine = br.readLine(); log.info("读取批量付款文件头信息:" + firstLine); Blacklist blacklist = new Blacklist(); map = checkCsvFile(br, tag, oid_reguser); if (!"succ".equals(map.get("ret_code"))) { return map; } if (((List) map.get("parseList")).size() >= Long.parseLong(SUPPORT_RISK_BLACKLIST_NO)) { map.put("ret_code", "fail"); map.put("ret_msg", "批量文件总笔数超限!"); return map; } map.put("ret_code", "succ"); map.put("ret_msg", "Csv/Txt文件解析成功!"); } catch (IOException e1) { e1.printStackTrace(); } finally { try { if (br != null) br.close(); } catch (IOException e) { e.printStackTrace(); } try { if (fr != null) fr.close(); } catch (IOException e) { e.printStackTrace(); } } return map; }
CSV格式文件信息校验
/** * CSV格式文件信息校验 * * @param br * @param tag * @return */ private Map checkCsvFile(BufferedReader br, String tag, String oid_reguser) { String line = ""; String[] lineArray = null; Map map = new HashMap(); int count = 0; List parseList = new ArrayList(); try { while ((line = br.readLine()) != null) { log.info("读取数据:" + line); Blacklist tmplist = new Blacklist(); if (FuncUtils.isNull(line) || "".equals(line.replace(" ", ""))) { continue; } count++; lineArray = line.split(",", 11); tmplist.setPartnerid(oid_reguser); tmplist.setCreatetime(DateUtil.getCurrentDate()); tmplist.setState(NO_AUDIT); tmplist.setDimensionname(lineArray.length > 0 ? lineArray[0] : ""); tmplist.setContent(lineArray.length > 1 ? lineArray[1] : ""); tmplist.setRisktypename(lineArray.length > 2 ? lineArray[2] : ""); tmplist.setCasetimestr(lineArray.length > 3 ? lineArray[3] : ""); tmplist.setComment(lineArray.length > 4 ? lineArray[4] : ""); JSONObject resObj = checkLineData(tmplist, tag); if (resObj == null) { map.put("ret_code", "fail"); map.put("ret_msg", "第[" + count + "]笔信息解析异常"); return map; } if ("9999".equals(resObj.get("ret_code"))) { map.put("ret_code", "fail"); map .put("ret_msg", "第[" + count + "]笔" + resObj.get("ret_msg")); return map; }else if ("1111".equals(resObj.get("ret_code"))) { // 特殊情况一行信息中前三组数据为空 break; } parseList.add(tmplist); } map.put("ret_code", "succ"); map.put("parseList", parseList); } catch (NumberFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return map; }
Csv文件单行信息校验
/** * Csv文件单行信息校验 * * @param traderPaySel * @param tag * @return */ private JSONObject checkLineData(Blacklist blacklist, String tag) { log.info(tag + "csv批量付款解析文件数据校验"); JSONObject retObj=new JSONObject(); if (FuncUtils.isNull(blacklist.getDimensionname().replace(" ", "")) && FuncUtils.isNull(blacklist.getContent().replace(" ", "")) && FuncUtils.isNull(blacklist.getRisktypename().replace(" ", ""))) {// 特殊情况,读取文件越界时处理 retObj.put("ret_code", "1111"); return retObj; } // 非空校验 if (FuncUtils.isNull(blacklist.getDimensionname()) || "".equals(blacklist.getDimensionname().replace(" ", ""))) {// 维度非空校验 log.info(tag + "维度为空"); retObj.put("ret_code", "9999"); retObj.put("ret_msg", "维度有误,请核实后重新上传!"); return retObj; } if (FuncUtils.isNull(blacklist.getContent()) || "".equals(blacklist.getContent().replace(" ", ""))) {// 维度内容非空校验 log.info(tag + "维度内容为空"); retObj.put("ret_code", "9999"); retObj.put("ret_msg", "维度内容有误,请核实后重新上传!"); return retObj; } if (FuncUtils.isNull(blacklist.getRisktypename()) || "".equals(blacklist.getRisktypename().replace(" ", ""))) { log.info(tag + "风险类型为空"); retObj.put("ret_code", "9999"); retObj.put("ret_msg", "风险类型有误,请核实后重新上传!"); return retObj; } retObj.put("ret_code", "0000"); retObj.put("ret_msg", "解析成功"); return retObj; }
相关文章推荐
- CSV文件格式 解析csv格式的java函数
- 解析csv格式的java函数
- 在VS.NET2005中使用java代码段以及SOL文件格式的解析
- 解析Java的Class文件格式——解析魔数和版本号(一)
- Java 的 Class 文件格式——解析魔数和版本号
- 解析Java的Class文件格式——解析魔数和版本号
- java class文件格式解析
- 解析csv格式的java函数
- Java抽取Word,PDF格式文件的四种武器-Java基础-Java-编程开发
- 基于java的图片文件格式转换和线性缩放-Java基础-Java-编程开发
- 解析Java的Class文件格式——解析魔数和版本号
- 解析Java的Class文件格式——解析魔数和版本号
- CSV文件格式解析
- CSV文件格式解析
- 用正则表达式和java解析csv文件
- java class文件格式解析(摘)
- Java 解析csv文件
- 使用Java解析CSV文件
- java学习笔记《java面向对象编程》——java文件格式以及开发工具
- 基于Java的CSV格式文件处理(excel逗号分隔符文件)