java的inputstream的问题,高手来看看
来源:百度知道 编辑:UC知道 时间:2024/05/01 00:10:35
为了提高效率,采用read(byte[] b)的方法读取数据。
如果说byte[] b的大小为1000;
那么用read(byte[] b)读的时候,是每次读到的数据满1000了,处理之后清空,再接着读吗。那如果读到最后就剩600了,不足1000了,那怎么处理。
就返回600的数据吗
这里明白的人 给指点指点
如果说byte[] b的大小为1000;
那么用read(byte[] b)读的时候,是每次读到的数据满1000了,处理之后清空,再接着读吗。那如果读到最后就剩600了,不足1000了,那怎么处理。
就返回600的数据吗
这里明白的人 给指点指点
请看看 api 文档, read(byte[] b) 返回int型,表示实际读取的byte数目, 不需要清空 byte[],
int i = read(byte[] b);
// 如果此时 i == 600;即 b.length == 600;
比如我想读到 byte[] 后,写入到一个 outstream中的话,
for (int c=0; c<i; c++) out.write(b[c]);,