使用BufferedReader读取socket流的阻塞问题解决方法

通过BufferedReader的ready()方法来解决,其规约中表述:该方法能告诉我们该流是否准备好被读取,即流中内容不空时返回true,否则返回false。
使用BufferedReader读取socket流的阻塞问题解决方法

代码如下:

// 输入流
                InputStream is = socket.getInputStream();
                StringWriter writer = new StringWriter();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                char[] bt = new char[1024];
                do {
                    reader.read(bt);
                } while (reader.ready());
                writer.write(bt,0,bt.length);
                String request = writer.toString();
上一篇:Java异常入门


下一篇:2021-11-02 攻防世界-进阶题-MISC-021(Banmabanma4)