例如,在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进程,因此它不会看到您编写字符或按空格键删除它们等。
我怀疑你不需要看看它是如何做到这一点的。也许您可以描述您要解决的问题?