逐步执行代码时流如何工作



例如,在java中,要从控制台读取输入,您可以编写如下内容:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadConsoleSystem {
  public static void main(String[] args) {
    System.out.println("Enter something here : ");
    try{
        BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in));
        String s = bufferRead.readLine();
        System.out.println(s);
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }
  }
}

因此,在第 String s = bufferRead.readLine() 行中,代码只是等待输入进入,然后进入下一步,但是如果您想查看试图解析其中片段的连续字符串流,例如,读取 Twitter 状态流并仅保存包含"奥巴马"一词或其他内容的字符串流怎么办?

我不明白代码如何逐行执行,同时处理来自流的输入,然后突然检测何时给出输入并保存它。

bufferRead.readLine(); 在用户按下 return 键之前,不会返回到调用代码。

该代码仅设置为从系统的输入(即控制台)读取一行输入。它的设置是,当你执行readLine时,它将从输入中读取一行。你必须输入一些东西("你好在那里")并按回车键,它会接受它,并将其放在字符串中。如果你想解析出东西,请手动做 后记

if(s.contains("Obama")) {
    //blah
}

控制台是行缓冲的。这意味着一整行都进入了Java进程,因此它不会看到您编写字符或按空格键删除它们等。

我怀疑你不需要看看它是如何做到这一点的。也许您可以描述您要解决的问题?

相关内容

  • 没有找到相关文章

最新更新