我目前正在开发一个程序,该程序可读取文本文件并根据上一行的内容打印不同的行。例如,如果前一行是整数,那么我将打印当前行的其他变体。如何检查上一行是否为整数,而不一次通过文件两行?
这是到目前为止的代码。
public void workThroughFile(String filename) {
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = br.readLine()) != null) {
if (isInteger(line) == false && line.contains("?") == true) {
System.out.println(line);
}
if (isInteger(line) == false && line.contains("?") == false) {
System.out.println(line);
}
if (isInteger(line) == true) {
}
}
}
catch (Exception e) {
System.out.println("Did not quite work this time.");
}
}
最佳答案
这里的策略是:
将上一行和当前行都保存在内存中。您可以在处理读取文件的类上声明2个属性。
private String prevLine;
private String currLine;
然后一一读取文件行:
...
String line;
while ((line = br.readLine()) != null) {
//update line properties
prevLine = currLine;
currLine = line;
if(someConditions(prevLine)){
handleCurrLine(currLine);
}
}