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

2022-06-28 09:45:21

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;
					}
				}
			}
  • 作者:cherry__cheng
  • 原文链接:https://blog.csdn.net/cherrycheng_/article/details/84689000
    更新时间:2022-06-28 09:45:21