关于BufferedWrite和PrintWrite的问题

qq_17786135 2014-11-05 08:32:45

为什么我把BufferedWrite改为PrintWrite方法,并将write方法改为println方法就可能够顺利在Server端和Client端通话?图中的代码就不行?
...全文
203 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomm627 2014-11-11
  • 打赏
  • 举报
回复
readLine是阻塞式的,当读入的内容是空或没有读到换行符(\n,\r,\r\n)系统会认为还没有读满一行数据,就阻塞了,后面的代码就不继续执行了。 你可以在客户端和服务器端发送的数据后加个"\n"试试应该就可以了。 另外友情提示下,以后贴代码别截图,别人想调试还得一行一行的敲下你的代码。你给别人创造遍历,别人才能更好的回答你。
捏造的信仰 2014-11-10
  • 打赏
  • 举报
回复
客户端的 println 方法会在最后加上一个回车 \n,而服务器端的 readLine 方法刚好必须读取到一个 \n 才会完成。客户端和服务器端就这样达成了一个协议。
cjh_tostring 2014-11-06
  • 打赏
  • 举报
回复
PrintWrite的println接收的是一行数据,就是有回车的,你的服务器端读取的是一行数据,没有回车会阻塞。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧