网络编程中PrintWriter的write()方法、print()和println()的区别

在网络编程中,实现客户端和服务器端的读写操作的时候一定要注意规范,就是读写的规定要统一!还要注意的是write()方法、print()和println()这三个方法的细小区别,的前提是读取使用的是bf.readLine()。

服务器代码:
在这里插入图片描述
客户端代码:

报错信息:

我调试了半天,都想不明白到底18行(上面蓝色行)bf.readLine()错在哪里,因为前面客户端已经能把字符串写进去,但是就是读不出来!问题的关键,读的这个bf.readLine()的格式是这样的:
在这里插入图片描述
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’)或紧跟换行符的回车符中的任何一个终止的。(意思就是说当bf.readLine()读取到 \n 或者 \r 的时候,代表数据读取完毕)

再看一下我们的写入的方法:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
前面的write()方法和print()方法,写入字符后都没有换行符(’\n’)、回车符(’\r’)在末尾,导致使用bf.readLine()时候,因为无法读取到换行符(’\n’)、回车符(’\r’),所以无法读取写入的字符串!!

谨记:要想使用bf.readLine()读取数据,优先使用println()方法(因为自带换行符),否则记得在write()方法和print()方法的后面加上(’\n’)或者(’\r’)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值