int read(byte b, int off, int len) int read(byte b) long skip(long n) 描述 所述java.io.FileInputStream.read(byte [] b,int off,int len)读取高达从该输入流数据的len个字节到字节数组,开始在目的地数组b抵消掉。 声明 以下是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.tutorialspoint; 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- int read(byte b) long skip(long n)