`

解析txt,BufferedReader不读取最后一行数据

    博客分类:
  • JDK
阅读更多

1.

BufferedReader br = new BufferedReader(new FileReader(f));
			while ((s=br.readLine())!=null) {//每次一行,一行就是一条交易记录
				if(StringUtils.isNotBlank(s)){
					//最后一行是汇总信息,不需要
					if (s != null && br.readLine() == null){
						break;
					}
				}
			}
 

 

 

2.以上情况会有一个问题:万一最后一行的后面有什么空格、换行等,就无效了,也不好用代码来操作。。

所有,安全系数不特别高啊~~

于是来了第二种方式:

根据我的业务需求,最后以后一定是包含汉字的,其他行都是数字、字母等。。

BufferedReader br = new BufferedReader(new FileReader(f));
			while ((s=br.readLine())!=null) {//每次一行,一行就是一条交易记录
				if(StringUtils.isNotBlank(s)){
					//最后一行是汇总信息,不需要
					if (s.getBytes().length!=s.length()){////只有最后一行有汉字
						break;
					}
				}
			}
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics