BufferedReader中的readLine()方法,API解释如下:

  • Reads a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

大概翻译一下:

     读取一行以换行符\n,回车符\r,或者\n\r结尾的文本。

换名话说,如果一行文本没有以换行符、回车符结尾,readLine()方法就读不到。

 

为什么会看到这个方法,是因为之前碰到过一个问题:

  创建了socket后,发送数据,接收方什么也收不到。多次尝试之后发现,在发送的字符串后加了\n,接收方才收到。所以找出来readLine()的api看了一下。

之后又尝试了在最后加\r,果然如api中所说,readLine()可以读取。

再之后,不使用BufferedReader读取,改成InputStream的read(byte[])方法,不加\n\r同样可以收到。

相关文章:

  • 2022-01-26
  • 2022-12-23
  • 2022-02-14
  • 2021-04-13
  • 2022-01-24
猜你喜欢
  • 2022-01-09
  • 2021-08-05
  • 2022-12-23
  • 2022-12-23
  • 2022-02-23
  • 2018-03-28
  • 2021-08-26
相关资源
相似解决方案