计算流中的单词

时间:2012-10-20 03:33:13

标签: java

我在一次采访中被问到这个问题,如果一个应用程序正在传输一些文本,例如客户端发出一个http呼叫,并且在帖子的主体中有一条文本消息,那么服务器端如何知道它何时收到从头到尾的完整信息。换句话说,如果你想计算这个文本流中的单词数,你怎么能这样做?正常的单词计数是通过状态机的方法完成的,在这种方法中,您可以跟踪空格,并且只对两个单词之间的空格递增一次。计算流中的单词有什么不同吗?怎么样 ?

1 个答案:

答案 0 :(得分:3)

  

然后服务器端如何知道它何时从头到尾收到完整​​的消息。

EOF字符表示消息的结束,并且客户端通常会在完成后刷新并关闭流。这就是服务器如何知道来自客户端的传输已经结束。

  

计算流中的单词有什么不同吗?

无论文本来源(无论是来自String变量还是来自流),确定单词数的逻辑都将保持不变,除了一旦循环计数器到达时字符串的输入结束字符串的长度,而在流中,它是停止循环的EOF字符。