Java:关于InputStream中的read(byte[])的返回值

创建一个文件内容为"abced",试着读取:FileInputStreami=newFileInputStream(newFile("demo.txt"));byte[]... 创建一个文件内容为"abced",试着读取:
FileInputStream i = new FileInputStream(new File("demo.txt"));
byte[] b = new byte[16];
System.out.println(i.read(b));

为什么输出的是5呢?也就是所有字符的个数,我语气的输出是2,因为API文档写的返回值是b实际读取的个数,但是我每次实际也只能读取两个字节啊,为什么输出的不是2而是5呢?
展开
 我来答
kaixingui2012
推荐于2018-03-21 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6399万
展开全部
byte[] b = new byte[16]; 你这里定义16字节,而文件中只有五个字符,一个字符就占一个字节,当然能读到5个了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式