我有一个动态的大文件,我想检查一个布尔值,然后如果它是真的,得到一个东西的计数
请帮我
例如这是我的文件(它可能有 20000 行)
.
.
.
fsfds fdsfsdf gfhgfh value1=true fdsfd fdfdsr ewref
dfdfsd dsfds dfdf fdsfsd
dfdfsd dsfds myval dfdf fdsfsd
dfdfsd dsfds dfdf fdsfsd
dfdfsd dsfds myval dfdf fdsfsd
fdfdfddsfds
fdfdsfdfdsfdfdsfsdfdsfdsfdsfds
.
.
.
我写了这段代码来处理它,但我不能,因为在这种情况下我逐行阅读,我必须检查 value1 是否为真,然后在我必须计算 myval 之后的 2 行中......
public void countMethod() {
int i = 0; //count
try {
BufferedReader input =
new BufferedReader(new FileReader(new File("I:\\1.txt")));
String line;
while ((line = input.readLine()) != null) {
if (line.substring(line.indexOf("value1")).split("=")[1].equals("true")) {
if (line.indexOf("myval") != -1)
i++;
}
}
input.close();
}
catch (Exception e) {
e.printStackTrace();
}
System.out.println("Count is : " + i);
}
我如何检查条件,然后如果它是真的我计算 myvals?
非常感谢