public class FileInputStream extends InputStream
FileInputStream
从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。
FileInputStream
用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader
。
read
public int read(byte[] b, int off, int len) throws IOException
-
从此输入流中将最多
len
个字节的数据读入一个 byte 数组中。如果len
不为 0,则在输入可用之前,该方法将阻塞;否则,不读取任何字节并返回0
。 -
-
覆盖:
-
类
InputStream
中的read
-
类
-
-
参数:
-
b
- 存储读取数据的缓冲区。 -
off
- 目标数组b
中的起始偏移量。 -
len
- 读取的最大字节数。
返回:
-
读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回
-1
。
抛出:
-
NullPointerException
- 如果b
为null
。 -
IndexOutOfBoundsException
- 如果off
为负、len
为负,或者len
大于b.length - off
-
IOException
- 如果发生 I/O 错误。
-
public FileInputStream(File file) throws FileNotFoundException
-
通过打开一个到实际文件的连接来创建一个
FileInputStream
,该文件通过文件系统中的File
对象file
指定。创建一个新FileDescriptor
对象来表示此文件连接。首先,如果有安全管理器,则用
file
参数表示的路径作为参数调用其checkRead
方法。如果指定文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取,则抛出
FileNotFoundException
。-
参数:
-
file
- 为了进行读取而打开的文件。
抛出:
-
FileNotFoundException
- 如果该文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取。 -
SecurityException
- 如果存在安全管理器,且其checkRead
方法拒绝对文件进行读取访问。 -
-
-