BufferedReader为什么会有数据遗漏啊?

zengjz88 2010-02-26 11:30:17

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class TestFile {

public static void main(String[] args) {

try {
//讀取thkj.txt 并進行篩選 放在集合里
BufferedReader br = new BufferedReader(new FileReader("thkj.txt"));
List<String> list = getFileList(br);
br.close();
//创建新文件并判断是否存在
File file = createFile();
//将筛选的集合写入在创建文件中
BufferedWriter bw = writeFile(list, file);
bw.close();
System.out.println("筛选成功");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
//将筛选的集合写入在创建文件中
private static BufferedWriter writeFile(List<String> list, File file)
throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
for(String str : list){
bw.write(str);
bw.newLine();
bw.flush();
}
return bw;
}
//创建新文件并判断是否存在
private static File createFile() throws IOException {
File file = new File("a.txt");
if(file.exists()){
file.delete();
}
file.createNewFile();
return file;
}
//讀取thkj.txt 并進行篩選 放在集合里
private static List<String> getFileList(BufferedReader br)
throws IOException {
List<String> list = new ArrayList<String>();
String input=null;
System.out.println(br.readLine());
while(br.readLine()!=null){
String strTrim = br.readLine();
System.out.println(strTrim);
if(strTrim!=null){
if(strTrim.endsWith("NOT_IN_PENDINGDELETE")){
input = strTrim;
input = input.substring(4,input.indexOf(".cn")+3);
list.add(input.trim());
}
}
}
return list;
}

}



输入结果:
.
.
.
thkj hangzhoudayinjiweixiu.cn nowc40407695 NOT_IN_PENDINGDELETE
筛选成功

目的:只筛选 第二列 从第四列是 NOT_IN_PENDINGDELETE 的提取

但结果发现好多筛选的时候会遗漏掉....
...全文
121 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
非典型射手 2010-02-26
  • 打赏
  • 举报
回复
while(br.readLine()!=null){
String strTrim = br.readLine();
System.out.println(strTrim);
if(strTrim!=null){
if(strTrim.endsWith("NOT_IN_PENDINGDELETE")){
input = strTrim;
input = input.substring(4,input.indexOf(".cn")+3);
list.add(input.trim());
}
}
}


每次你读了两行

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧