Inputstranm类是抽象类是表示输入字节流的所有类的超类
-
-
Modifier and Type Method and Description 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
字节数据。
-
对red方法精讲该方法用于对数据的读取有3个重载的方法分别如下:
-
-
-
public abstract int read() throws IOException
从输入流读取数据的下一个字节。 值字节被返回作为int
范围0
至255
。 如果没有字节可用,因为已经到达流的末尾,则返回值-1
。 该方法阻塞直到输入数据可用,检测到流的结尾,或抛出异常。一个子类必须提供这个方法的一个实现。
结果
数据的下一个字节,如果达到流的末尾,
-1
。异常
IOException
- 如果发生I / O错误。
-
read
public int read(byte[] b) throws IOException
从输入流读取一些字节数,并将它们存储到缓冲区b
。 实际读取的字节数作为整数返回。 该方法阻塞直到输入数据可用,检测到文件结束或抛出异常。如果
b
的长度为零,则不会读取字节并返回0
; 否则,尝试读取至少一个字节。 如果没有字节可用,因为流在文件末尾,则返回值-1
; 否则,读取至少一个字节并存储到b
。第一个字节读取存储在元素
b[0]
,下一个字节存入b[1]
等等。 读取的字节数最多等于b
的长度。 令k为实际读取的字节数; 这些字节将存储在元素b[0]
至b[
k-1]
,使元素b[
k]
至b[b.length-1]
不受影响。该
read(b)
用于类方法InputStream
具有相同的效果为:read(b, 0, b.length)
参数
b
- 读取数据的缓冲区。结果
读取到缓冲区的总字节数,或者如果没有更多的数据,因为已经到达流的末尾,则是
-1
。异常
IOException
- 如果由于文件结尾以外的任何原因,如果输入流已关闭,或者发生其他I / O错误,则无法读取第一个字节。NullPointerException
- 如果b
是null
。 -
read
public int read(byte[] b, int off, int len) throws IOException
从输入流读取len
字节的数据到一个字节数组。 尝试读取多达len
个字节,但可以读取较小的数字。 实际读取的字节数作为整数返回。该方法阻塞直到输入数据可用,检测到文件结束或抛出异常。
如果
len
为零,则不会读取字节并返回0
; 否则,尝试读取至少一个字节。 如果没有字节可用,因为流是文件的-1
则返回值-1
; 否则,读取至少一个字节并存储到b
。第一个字节读取存储在元素
b[off]
,下一个字节存入b[off+1]
,等等。 读取的字节数最多等于len
。 令k为实际读取的字节数; 这些字节将存储在元素b[off]
至b[off+
k-1]
,使元素b[off+
k]
至b[off+len-1]
不受影响。在每种情况下,元件
b[0]
至b[off]
和元件b[off+len]
至b[b.length-1]
不受影响。该
read(b,
off,
len)
类方法InputStream
简单地调用该方法read()
反复。 如果第一个这样的呼叫产生一个IOException
,那个异常从呼叫返回到read(b,
off,
len)
方法。 如果任何后续调用read()
导致IOException
,则异常被捕获并被视为文件的结尾; 读取到该点的字节被存储到b
,并且返回异常发生前读取的字节数。 该方法的默认实现将阻塞,直到所请求的输入数据len
已被读取,文件结束被检测到或异常被抛出为止。 鼓励子类提供更有效的方法实现。参数
b
- 读取数据的缓冲区。off
- 写入数据的数组b
中的起始偏移量。len
- 要读取的最大字节数。结果
读取到缓冲区的总字节数,如果没有更多的数据,因为已经到达流的末尾,那么
-1
。异常
IOException
- 如果由于文件结束之外的任何原因,或者输入流已关闭,或者发生其他I / O错误,则无法读取第一个字节。NullPointerException
- 如果b
是null
。IndexOutOfBoundsException
- 如果off
为负数,len
为负数,或len
大于b.length - off
-
-