gpt4 book ai didi

java - 如果读取相同的文本则停止 BufferedReader

转载 作者:行者123 更新时间:2023-12-01 18:38:04 28 4
gpt4 key购买 nike

我有一个缓冲区读取器,用于读取文本文件,然后将读取的数据保存为字符串。缓冲区读取器每秒连续循环读取文本文件。如果缓冲区读取器连续两次读取相同的文本,我想做一个 Thread.sleep。

例如,如果缓冲区读取器读取“foo”,那么当它在下一秒再次运行时,如果它再次读取“foo”,则线程会 hibernate 一定的时间。

我在 try 方法中有缓冲区读取器,但我不知道如何让它执行上述操作。

有人可以帮忙吗?

谢谢

最佳答案

跟踪在字符串变量中读入的上一行,您可以将其初始化为空字符串。当您读取每一行时,检查它是否 equals() 到该变量中先前存储的行。如果是这样,请执行您想做的操作,例如 Thread.sleep() 。否则将当前行保存到该变量中。在代码中:

    BufferedReader reader = new BufferedReader(new FileReader("foo.txt"));
String foo = "";
String old = "";
while((foo = reader.readLine()) != null) {
if(foo.equals(old)) {
System.out.println("Sleeping...");
Thread.sleep(1000);
} else {
old = foo;
}
}

关于java - 如果读取相同的文本则停止 BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20983710/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com