使用了 BufferedWriter
的 write
方法写入数据,但并没有调用 newLine
方法添加换行符。在服务端的代码中,使用 BufferedReader
的 readLine
方法来读取数据,这个方法是按行读取的,即它会一直读取直到遇到换行符为止。
如果客户端发送的数据没有换行符,服务端调用 readLine
方法时就无法正确判断数据的结束位置,导致阻塞或无法读取到数据。因此,建议在客户端的写操作中加上换行符,以便服务端能够正确地使用 readLine
方法来读取数据。
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); bufferedWriter.write("HT20231016"); bufferedWriter.newLine(); // 添加换行符 bufferedWriter.flush();
这样服务端就能够通过 readLine
方法正确地读取客户端发送的数据。