Java BufferedReader预处理输入
我尝试使用BufferedReader从套接字读取,如下所示Java BufferedReader预处理输入,java,sockets,telnet,putty,bufferedreader,Java,Sockets,Telnet,Putty,Bufferedreader,我尝试使用BufferedReader从套接字读取,如下所示 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); while ((line = in.readLine()) != null) { } 我输入一个字符串,比如说“AUTH”,我得到line变量的值作为AUTH 这个问题有什么解决方案吗?这意味着不管出于什么原因,额外的数据都在套
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while ((line = in.readLine()) != null)
{
}
我输入一个字符串,比如说“AUTH”,我得到line
变量的值作为AUTH
这个问题有什么解决方案吗?这意味着不管出于什么原因,额外的数据都在套接字中。我猜您正在使用telnet连接到服务器,这就是问题所在
Java不会向真正存在的内容添加额外数据。BufferedReader.readLine()用于包含“行”的输入,请确保正确提供输入。或者,您可以定义自己的终止符,然后使用
BufferedReader.read()
(如果您不知道输入长度,请使用while循环,如while(in.read()!=-1)
或类似的内容)
bufferedReader预处理输入
不,没有。某些东西正在写入您不期望的额外输入。在本例中,是Telnet。Telnet是一种协议,它包含的不仅仅是文本行。是的,我正在使用Telnet(Putty)。我同意,尝试使用而不是Telnet。对于Putty,主机名下有连接类型,请使用“raw”而不是“telnet”。也许您需要使用telnet客户端:?