Java Java.io.FileInputStream.read()方法
-
描述
java.io.FileInputStream.read(byte[] b, int off, int len)从此输入流中将最多len个数据字节读取到一个字节数组中,从目标数组b中的offset off开始。 -
声明
以下是java.io.FileInputStream.read(byte[] b, int off, int len)方法的声明-public int read(byte[] b, int off, int len)
-
参数
-
b读取数据的字节数组。
-
off目标数组b中的起始偏移量。
-
len要读取的最大字节数。
-
-
返回值
该方法返回读入缓冲区的字节总数。 -
异常
-
IOException如果发生I / O错误。
-
NullPointerException如果b为null。
-
IndexOutOfBoundsException如果len或off为负,或者b.length-off大于b.length。
-
-
例子
下面的示例演示java.io.FileInputStream.read(byte [] b,int off,int len)方法的用法。package com.jc2182; import java.io.IOException; import java.io.FileInputStream; public class FileInputStreamDemo { public static void main(String[] args) throws IOException { FileInputStream fis = null; int i = 0; char c; byte[] bs = new byte[4]; try { // create new file input stream fis = new FileInputStream("C://test.txt"); // read bytes to the buffer i = fis.read(bs, 2, 1); // prints System.out.println("Number of bytes read: "+i); System.out.print("Bytes read: "); // for each byte in buffer for(byte b:bs) { // converts byte to character c = (char)b; if(b == 0) c = '-'; // print System.out.print(c); } } catch(Exception ex) { // if any error occurs ex.printStackTrace(); } finally { // releases all system resources from the streams if(fis!=null) fis.close(); } } }
假设我们有一个文本文件c:/test.txt ,其内容如下。该文件将用作示例程序的输入-ABCDEF
让我们编译并运行以上程序,这将产生以下结果-Number of bytes read: 1 Bytes read: --A-