全屏
java.io.BufferedInputStream.read(byte[] b, int off, int len) 方法读取字节的输入流len个字节到字节数组,开始在一个给定的偏移量。这种方法反复调用底层流的read()方法。该迭代读继续进行,直到下列条件之一为真:len 字节读取
返回-1,表示文件结束 - 。
如果缓冲输入available()方法返回0
声明
以下是java.io.BufferedInputStream.read(byte[] b, int off, int len)方法的声明
public int read(byte[] b, int off, int len)
参数b - 字节数组进行填充。
off - 从开始的偏移存储数。
len - 要读取的字节数。
返回值
返回读取的比特数长度
异常IOException -- 如果发生I/O错误。
例子
下面的例子显示java.io.BufferedInputStream.read(byte[] b, int off, int len)方法的用法。package cn.sxt;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
public class BufferedInputStreamDemo {
public static void main(String[] args) throws Exception {
InputStream inStream = null;
BufferedInputStream bis = null;
try{
// open input stream test.txt for reading purpose.
inStream = new FileInputStream("c:/test.txt");
// input stream is converted to buffered input stream
bis = new BufferedInputStream(inStream);
// read number of bytes available
int numByte = bis.available();
// byte array declared
byte[] buf = new byte[numByte];
// read byte into buf , starts at offset 2, 3 bytes to read
bis.read(buf, 2, 3);
// for each byte in buf
for (byte b : buf) {
System.out.println((char)b+": " + b);
}
}catch(Exception e){
e.printStackTrace();
}finally{
// releases any system resources associated with the stream
if(inStream!=null)
inStream.close();
if(bis!=null)
bis.close();
}
}
}
假设有一个文本文件 c:/ test.txt,它具有以下内容。该文件将被用作输入在示例程序:ABCDE
让我们来编译和运行上面的程序,这将产生以下结果:: 0
: 0
A: 65
B: 66
C: 67
分享到:
0评论