黑马程序员技术交流社区

标题: 关于InputStream中几个重载read()方法的疑问 [打印本页]

作者: 根号5    时间: 2012-4-28 16:44
标题: 关于InputStream中几个重载read()方法的疑问
为什么说read(byte[] b, int off, int len) 和read(byte[] b),这两个方法都是通过调用read()方法来实现的呢?求解答

作者: 张文建    时间: 2012-4-28 16:58
InputStream类中的方法:
int available()
          返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数。
void close()
          关闭此输入流并释放与该流关联的所有系统资源。
void mark(int readlimit)
          在此输入流中标记当前的位置。
boolean markSupported()
          测试此输入流是否支持 mark 和 reset 方法。
abstract  int read()
          从输入流读取下一个数据字节。
int read(byte[] b)
          从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len)
          将输入流中最多 len 个数据字节读入字节数组。
void reset()
          将此流重新定位到对此输入流最后调用 mark 方法时的位置。
long skip(long n)
          跳过和放弃此输入流中的 n 个数据字节。
因此可以直接调用read()方法。
作者: 李蛟龙    时间: 2012-4-28 17:33
同一个类中方法名相同,参数列表不同的方法为重载。read(byte[] b, int off, int len) 和read(byte[] b)是read()的重载
InputStream为输入字节流,其中read(byte[] b, int off, int len) 和read(byte[] b)都为读取字节码到byte[] b中。
这两者都是要从目标文件中读取字节流,也就是read()的功能,可以说底层和read()方法相同,但是具有功能的扩充。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2