超简单的Java解析Txt文本方法,一看就会!

文章目录


今天来分享一下如何解析TXT,话说天天解析Excel表格,突然让我解析Txt的时候我还有一点小懵,好,废话不多说,下面开始.

这是我们要解析的txt文档
第一行我是不需要解析的,但是为了方便大家理解还是解析一下
超简单的Java解析Txt文本方法,一看就会!_第1张图片

不好理解的地方我都用注释解释了 应该很好看懂

	//解析txt文件
	private String readTxt(InputStream is,String fileName, String inputtime) throws IOException {
		
	        List<PolicyInfoEntity> records = new ArrayList<PolicyInfoEntity>();// 
	        // 将txt格式的数据存入数组
	        try {
				PolicyInfoEntity pi = new PolicyInfoEntity();
				//接受传入的流 改为gbk编码
	                InputStreamReader isr = new InputStreamReader(is,"GBK");
	                BufferedReader br = new BufferedReader(isr);
	                String lineTxt = br.readLine();// 读取文件的方法
	                
	                String[] firstLine = lineTxt.split(","); // 读第一行 按,进行切割
	                String time = firstLine[0];
	                String ID = firstLine[1];
	                String sonid = firstLine[2];
	                String workname  = firstLine[11];
	                //验证每一行是否为空  数据为空不执行
	                while ((lineTxt = br.readLine()) != null) {
	                    String[] arrStrings = lineTxt.split(","); // 用于把一个字符串分割成字符串数组
	                    
	                  
	 
	                    pi.setFileName(fileName);
	                	pi.setInsuranceNo(arrStrings[3].toString().substring(1,arrStrings[3].length()-1));
						pi.setContNo(arrStrings[1].toString().substring(1,arrStrings[1].length()-1));//
						pi.setPrintDate(arrStrings[0].toString().substring(1,arrStrings[0].length()-1));
						pi.setServiceCode(arrStrings[2].toString().substring(1,arrStrings[2].length()-1));// 当前持有人工号
						pi.setServiceName(arrStrings[9].toString().substring(1,arrStrings[9].length()-1));//
						pi.setExportDate(inputtime);
	                    
                         
	                    records.add(pi); // 用set方法将取值分别添加到对应字符串数组 ,用add方法存入list
	 
	                }
	                //关闭输入流
	                br.close();
	 
	            
	        } catch (Exception e) {
	            System.out.println("文件读取错误!");
	        }
	 
	        if(records!=null &&records.size()>0){
	        	policyInfoService.insertPolicyInfo(records);
	        }
	        return "导入成功";
	    }

然后是效果图,因为我是要再从前台获取,就简单展示一下,不单独写个demo展示

超简单的Java解析Txt文本方法,一看就会!_第2张图片

怎么样是不是很简单!

你可能感兴趣的:(java,java,poi)