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

文章目录


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

这是我们要解析的txt文档
第一行我是不需要解析的,但是为了方便大家理解还是解析一下
第一行我是不需要解析的,但是为了方便大家理解还是解析一下

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

	//解析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展示

在这里插入图片描述

怎么样是不是很简单!

  • 2
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值