java - 循环和 BufferedReader 的问题

标签 java while-loop bufferedreader stringbuilder

我在读取 BufferedReader 的循环中遇到一个奇怪的问题,并且永远不会结束......

这是代码:

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

int b;
            StringBuilder buff = new StringBuilder();
            while ((b = in.read()) != -1 ) {
                buff.append((char) b);
            }
            System.out.println(buff.toString());

但永远不会到达打印 buff.toString() 的最后一行。 这段代码有什么问题吗?

谢谢。

最佳答案

你能尝试像这样改变 while 条件吗?

while ((b = in.read()) > -1 ) {
            buff.append((char) b);
        }

关于java - 循环和 BufferedReader 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21077637/

相关文章:

java - 使用客户端阻塞的套接字进行客户端与服务器通信

java - 使用 Lambda 表达式将列表转换为 map 不起作用

java - 如何使用异步套接字?

java - 如果我需要在开始时评估条件,有没有办法避免 while(true) ?

r - 如何继续删除第一个值,直到向量的总和小于 20?

java - 取消BufferedReader的readLine()

java - 使用 BufferedReader 进行无限循环

java - 如何将Spring Boot logger设置为仅计划任务?

java - 如何在Java/Swing 应用程序中使用Windows XP 主题?

java - 验证输入并防止 try/catch 退出