A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chenwei 中级黑马   /  2012-4-16 22:19  /  2467 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

read()方法为什么返回int
Reader.read() 读取一个字符, 返回int
InputStream.read() 读取一个字节, 返回int
为什么不是返回char和byte呢?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

5 个回复

倒序浏览
返回的的int其实是对应于ASCII码的,在查找ASCII你就可以找到对应的字符了,比如a对应的ASCII码的值就是97

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
呵呵 查看一下API帮助吧 上边甩出的接口的返回类型就是int
当然 这也是最简单的理解方式
回复 使用道具 举报
返回的是ASCII码对应的值,是int类型的。如果没有值,则返回-1

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
返回的是所读取的字符在Unicode中的值,如:当读到A是返回65,当读到末尾是返回-1

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
read()方法返回的是所读的字节数,要获取所读取的字节,可以用一个字节数组来接受
如:byte[] by=new byte[1024];
xxx.read(by);

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马