BufferedWriter 和BufferedReader 的按行读取注意事项

2023-12-26 10:54:08

使用了 BufferedWriterwrite 方法写入数据,但并没有调用 newLine 方法添加换行符。在服务端的代码中,使用 BufferedReaderreadLine 方法来读取数据,这个方法是按行读取的,即它会一直读取直到遇到换行符为止。

如果客户端发送的数据没有换行符,服务端调用 readLine 方法时就无法正确判断数据的结束位置,导致阻塞或无法读取到数据。因此,建议在客户端的写操作中加上换行符,以便服务端能够正确地使用 readLine 方法来读取数据。

BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); bufferedWriter.write("HT20231016"); bufferedWriter.newLine(); // 添加换行符 bufferedWriter.flush();

这样服务端就能够通过 readLine 方法正确地读取客户端发送的数据。

文章来源:https://blog.csdn.net/m0_65037354/article/details/135213530
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。