Java 如果读取了相同的文本,则停止BufferedReader

Java 如果读取了相同的文本,则停止BufferedReader,java,bufferedreader,java-io,Java,Bufferedreader,Java Io,我有一个缓冲区读取器读取文本文件,然后将读取的数据保存为字符串。缓冲区读取器处于每秒读取文本文件的连续循环中。如果缓冲区读取器连续两次读取同一文本,我想执行Thread.sleep 例如,如果缓冲区读取器读取“foo”,那么当它在下一秒再次运行时,如果它再次读取“foo”,那么线程将休眠一段时间 我有一个try方法中的缓冲区读取器,但我不知道如何让它执行上述操作 有人能帮忙吗 感谢跟踪在字符串变量中读取的前一行,您可以将其初始化为空字符串。当您读入每一行时,检查它是否与该变量中先前存储的行相等(

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

例如,如果缓冲区读取器读取“foo”,那么当它在下一秒再次运行时,如果它再次读取“foo”,那么线程将休眠一段时间

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

有人能帮忙吗


感谢

跟踪在字符串变量中读取的前一行,您可以将其初始化为空字符串。当您读入每一行时,检查它是否与该变量中先前存储的行
相等()。如果是这样的话,做你想做的事情,比如
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;
        }
    }

跟踪在字符串变量中读入的前一行,可以将其初始化为空字符串。当您读入每一行时,检查它是否与该变量中先前存储的行
相等()。如果是这样的话,做你想做的事情,比如
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;
        }
    }