你好,我正在尝试在java中循环一个文件并仅输出年份有2000的字符串。
由于某种原因,当我执行 .trim().compare(year)
时,它仍然返回所有字符串。我不知道为什么
文件中的字符串示例是
20/04/1999-303009
13/04/2000-2799
06/10/1999-123
例如,在这 3 个中,我只想获取 13/04/2000-2799
(注意文件很大)
这是我迄今为止想到的代码:
public static void main(String[] args) throws IOException {
//Initiating variables
String filedir =("c://test.txt");
ArrayList<String> list = new ArrayList<String>();
String year = "2000";
try (Scanner scanner = new Scanner(new File(filedir))) {
while (scanner.hasNextLine()){
// String[] parts = scanner.next().split("-");
if (scanner.nextLine().trim().contains(year)) {
System.out.println(scanner.nextLine());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
最佳答案
您使用了scanner.nextLine()两次。这是一个错误。每次迭代仅调用一次,并将结果分配给 String 值以供使用。
关于java - 在文件中查找特定号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52541917/