1 read(char[] cbuf, int offset, int length)
1方法声明
public int read(char[] cbuf, int offset, int length)
2参数 (Parameters)
cbuf - 目标字符缓冲区。
offset - 开始存储字符的offset 。
length - 要读取的最大字符数。
3返回值 (Return Value)
(1)java.io.ObjectInputStream.read(byte[] buf, int off, int len) 方法读入一个字节数组。此方法将阻塞,直到有输入数据可用。请考虑使用java.io.DataInputStream.readFully读取正是“length”字节, 此方法返回的字节读出的实际数目,当到达流的末尾,则返回-1
(1)java.io.FileInputStream.read(byte[] b, int off, int len) 读取从此输入流中的数据len个字节到字节数组,开始在目标数组b的偏移。 该方法返回读入缓冲区的字节总数
(2)java.io.FilterInputStream.read(byte[] b, int off, int len) 方法从这个滤波器的输入流中读取了len的数据的到缓冲区中。
(3)java.io.BufferedInputStream.read(byte[] b, int off, int len) 方法读取字节的输入流len个字节到字节数组,开始在一个给定的偏移量。这种方法反复调用底层流的read()方法。 该迭代读继续进行,直到下列条件之一为真:
len 字节读取
返回-1,表示文件结束 - 。
如果缓冲输入available()方法返回0
该方法返回读取的字符数,否则返回-1,如果已到达流的末尾。
(4)java.io.ByteArrayInputStream.read(byte[] b, int off, int len) 方法读取当前输入流中的数据的len个字节到字节数组。read()方法不会进入阻塞, 读入缓冲区的字节数。返回-1,如果流已经达到了结束位置
(5) java.io.CharArrayReader.read(char[] b, int off, int len) 方法读取字符到指定数组的一部分 , 实际读取字符的数目,-1为流的末尾
(6)java.io.BufferedReader.read(char[] cbuf, int off, int len) 方法读取len个字符到一个具体确定的数组,从偏移量off开始。此方法通过多次调用底层流的read方法读取字符。
该方法停止读取,如果执行下列操作之一为true。
流的字符指定数量已读。
如果已经达到文件的结束。
ready方法返回false。
(7)java.io.DataInputStream.read(byte[] b, int off, int len) 方法从包含的输入流中读取len个字节并将它们分配在缓冲b起始于b[off]。该方法被阻塞,直到输入数据可用,则抛出异常或检测到文件的末尾。返回 总读取字节数,否则如果流已经达到了末尾返回-1。
(8)java.io.FilterReader.read(char[] cbuf, int off, int len) 方法从偏移量off读取长度为len的字符放入数组中。 此方法返回的字符数读取,或如果已到达流的末尾返回-1
5举栗子
二read(char cbuf[])
1方法声明:
public int read(byte[] b)
2参数
b - 读取字节数组数据。
3返回值
(1)java.io.FileInputStream.read(byte[] b) 读取从此文件输入流b.length个字节数组中。该方法一直阻塞到某些输入可用。 该方法将返回读入缓冲区的总字节数,或如果没有更多的数据被读取则返回-1。
(2) java.io.FilterInputStream.read(byte[] b) 方法从这个滤波器的输入流中读取b.length一个字节数据到数组。此方法阻塞,直到输入数据可用。 该方法返回读入缓冲区的总字节数,或如果没有更多的数据读取返回-1。
(3)java.io.InputStream.read(byte[] b) 方法读取b.length个字节数从输入流的缓冲区数组b中。返回读取的字节的整数, 该方法返回实际读取到缓冲区的字节数,或如果已到达流的末尾返回-1
(4) java.io.DataInputStream.readFully(byte[] b) 方法从输入流中读取len个字节。
它会阻止,直到下面条件之一发生:
b.length个字节的输入数据。
文件结束检测。
如果发生任何I/ O错误。
4举例子:
三read()
方法读取单个字符,并返回一个介于0到65535之间的整数。
1 方法声明
以下是read()方法的声明:
public int read()
2参数
NA
3返回值
(1) java.io.InputStreamReader.read() 方法读取并返回单个字符。 该方法返回读取的字符,或者如果流的末尾已到达则返回-1。
(2) java.io.BufferedInputStream.read() 读取从输入流中的下一个数据字节 ,不返回任何值
(3) java.io.CharArrayReader.read() 方法读取单个字符。如果流结束,则返回-1。
(4)java.io.BufferedReader.read() 方法读取该缓存读取一个字符。如果流已到达末尾,那么该方法返回-1。
(5)java.io.FilterReader.read(int readAheadLimit) 方法返回的字符读,是一个介于0到65535之间的整数,如果已到达流的末尾则返回-1。
(6) java.io.ByteArrayInputStream.read()方法读取此输入流的下一个字节 , 返回值字节为整数的范围为0-255。如果流已经达到了它的结束返回-1。
(7) java.io.CharArrayReader.read() 方法读取单个字符。如果流结束,则返回-1
4异常
IOException -- 如果发生I/ O错误。
5举例:
四readLine()
1方法的声明
public String readline()
2 参数
NA
3 返回值
(1)java.io.BufferedReader.readline() 方法读取一行文本。一行被认为是由一个换行符(' n'),回车符(' r')或回车符中的任何一个被终止紧跟一个换行符,返回 字符串,包含此行的内容,不包含任何行终止符,或者null,如果流的末尾已到达
(2) java.io.LineNumberReader.readLine() 方法读取一行文本。 该方法返回一个包含该行的内容,不包含任何行终止字符,或一个空字符串,如果已到达流的末尾。
(3)java.io.RandomAccessFile.readLine() 方法从这个文件读取文本的下一行。该方法依次从文件中读取的字节处开始,从当前文件指针,直到它到达一个行结束或在文件的结尾。每个字节是通过采取字节的值的低8位的字符,并设置高8位字符的零转换成一个字符。 此方法返回这个文件中文本的下一行,或者如果文件结束前连一个字节被读取时遇到的问题返回null。
4举栗子: