【发布时间】:2016-05-14 13:52:14
【问题描述】:
我正在使用 bufferedreader 读取包含数据行的 txt 文件。然后我试图根据多个条件过滤掉文本文件的行。在这种情况下,我想跳过以 AA 开头的行和以 DD 开头的行 文本文件看起来像
AA Data1
BB Data2
CC Data3
DD Data4
AA Data5
CC Data6
到目前为止,我的代码认识到我想跳过这两个,但是,对于从 DD 到 AA 的行,它会跳过 DD 行,但不知道我也想跳过下面的 AA 行所以。所以我的程序输出如下:
BB Data2
CC Data3
AA Data5
CC Data6
它根据需要删除了第一个 AA,但留下了第二个 AA,因为它删除了前面行中的 DD。
以下是我当前的代码:
public static void main(String[] args){
try {
BufferedReader br = new BufferedReader(new FileReader("files/txtfile"));
String line = null;
String previousLine = null;
for (line=br.readLine(); line != null;){
if (previousLine != null) {
if (line.contains("AA")||line.contains("DD")){
previousLine = br.readLine();
}
line= br.readLine();
}
System.out.println(previousLine);
previousLine = line;
}
} catch (IOException e) {
e.printStackTrace();
}
}
任何建议将不胜感激!
【问题讨论】:
标签: java bufferedreader contains