public class FileInputStream extends InputStream
FileInputStream
获得输入的字节从文件系统中的文件。什么文件是可用的,取决于主机环境。
FileInputStream
是读取原始字节的图像数据流。读取字符流,考虑使用FileReader
。
File
,
FileDescriptor
,
FileOutputStream
,
Files.newInputStream(java.nio.file.Path, java.nio.file.OpenOption...)
Constructor and Description |
---|
FileInputStream(File file)
打开一个连接到一个实际的文件创建一个
FileInputStream ,文件在文件系统的
File 对象
file 命名。
|
FileInputStream(FileDescriptor fdObj)
创建一个
FileInputStream 通过文件描述符
fdObj ,它代表一个现有连接到文件系统中的一个实际的文件。
|
FileInputStream(String name)
打开一个连接到一个实际的文件创建一个
FileInputStream ,文件由文件系统中的路径名
name 命名。
|
Modifier and Type | Method and Description |
---|---|
int |
available()
返回一个剩余的字节数的估计,可以从这个输入流读取(或跳过),而不阻塞该输入流的方法的下一次调用。
|
void |
close()
关闭此文件输入流并释放与流关联的任何系统资源。
|
protected void |
finalize()
确保该文件输入流的
close 方法被调用时,没有对它的引用。
|
FileChannel |
getChannel()
返回与此文件输入流有关的独特的
FileChannel 对象。
|
FileDescriptor |
getFD()
返回表示实际的文件在文件系统中的
FileInputStream 使用的连接的
FileDescriptor 对象。
|
int |
read()
从这个输入流读取一个字节的数据。
|
int |
read(byte[] b)
读到
b.length 从输入流到字节数组数据字节。
|
int |
read(byte[] b, int off, int len)
读到
len 从输入流到字节数组数据字节。
|
long |
skip(long n)
跳过并丢弃
n 字节输入流中的数据。
|
mark, markSupported, reset
public FileInputStream(String name) throws FileNotFoundException
FileInputStream
,文件由文件系统中的路径名
name
命名。一个新的
FileDescriptor
对象来表示这个文件连接。
首先,如果存在安全管理器,它的checkRead
方法调用作为参数的name
论点。
如果指定的文件不存在,是一个目录而不是常规文件,或者其他原因不能打开,然后FileNotFoundException
抛出。
name
-系统相关的文件名称。
FileNotFoundException
-如果文件不存在,是一个目录而不是常规文件,或者其他原因不能打开阅读。
SecurityException
-如果存在一个安全管理及其
checkRead
法否认对文件的读访问。
SecurityManager.checkRead(java.lang.String)
public FileInputStream(File file) throws FileNotFoundException
FileInputStream
,文件在文件系统的
File
对象
file
命名。一个新的
FileDescriptor
对象来表示这个文件连接。
首先,如果存在安全管理器,它的checkRead
方法调用的file
参数作为它的参数表示的路径。
如果指定的文件不存在,是一个目录而不是常规文件,或者其他原因不能打开,然后FileNotFoundException
抛出。
file
-文件被打开阅读。
FileNotFoundException
-如果文件不存在,是一个目录而不是常规文件,或者其他原因不能打开阅读。
SecurityException
-如果存在一个安全管理及其
checkRead
法否认对文件的读访问。
File.getPath()
,
SecurityManager.checkRead(java.lang.String)
public FileInputStream(FileDescriptor fdObj)
fdObj
创建一个
FileInputStream
,它代表一个现有连接到文件系统中的一个实际的文件。
如果存在安全管理器,它的checkRead
方法被调用的文件描述符fdObj
来看看是否可以读取文件描述符参数。如果读取的文件描述符的一个SecurityException
否认扔。
如果fdObj
为null,然后NullPointerException
抛出。
此构造函数不如果fdObj
是invalid
抛出一个异常。但是,如果调用的方法在流而尝试的I/O流,一个IOException
抛出。
fdObj
-文件描述符被打开阅读。
SecurityException
-如果存在一个安全管理及其
checkRead
方法拒绝访问该文件描述符读取。
SecurityManager.checkRead(java.io.FileDescriptor)
public int read() throws IOException
read
方法重写,继承类
InputStream
-1
如果到达文件的结尾。
IOException
如果I/O错误发生。
public int read(byte[] b) throws IOException
b.length
从输入流到字节数组数据字节。该方法块,直到有一个输入可用。
read
方法重写,继承类
InputStream
b
-缓冲区中读取数据。
-1
如果没有更多的数据,因为已经到达文件末尾。
IOException
如果I/O错误发生。
InputStream.read(byte[], int, int)
public int read(byte[] b, int off, int len) throws IOException
len
字节从输入流到字节数组数据。如果
len
不为零,该方法阻塞直到输入可用;否则,没有字节读取和
0
返回。
read
方法重写,继承类
InputStream
b
-缓冲区中读取数据。
off
-开始抵消目标数组
b
len
-的最大字节数读。
-1
如果没有更多的数据,因为已经到达文件末尾。
null
b
NullPointerException
。
IndexOutOfBoundsException
-如果
off
是负的,
len
是负的,或
len
大于
b.length - off
IOException
如果I/O错误发生。
InputStream.read()
public long skip(long n) throws IOException
n
字节输入流中的数据。
skip
方法的可能,因为种种原因,最终跳过一些较小的字节数,可能0
。如果n
是负的,该方法将试图跳过向后。如果备份文件不支持向后跳到目前的位置,一个IOException
抛出。跳过的字节数实际返回。如果它跳过了,它返回一个积极的价值。如果它跳过向后,它返回一个负值。
此方法可以跳过比备份文件中保留的字节数更多的字节数。这就产生了不例外的字节数不可能包括一些字节数,超出的支持文件的方法。尝试从流中读取,跳过过去结束后将导致- 1表示该文件的结束。
skip
方法重写,继承类
InputStream
n
-字节数被跳过。
IOException
如果n是负的,如果流不支持查找,或者I/O错误发生。
public int available() throws IOException
在某些情况下,一个非阻塞的读(或跳过)可能会出现被阻塞时,它只是慢,例如,当阅读大文件的慢网络。
available
方法重写,继承类
InputStream
IOException
-如果这文件输入流被称
close
或I/O错误关闭时。
public void close() throws IOException
如果该流有一个相关的信道,则该信道也被关闭。
close
接口
Closeable
close
接口
AutoCloseable
close
方法重写,继承类
InputStream
IOException
如果I/O错误发生。
public final FileDescriptor getFD() throws IOException
FileInputStream
使用的连接的
FileDescriptor
对象。
IOException
如果I/O错误发生。
FileDescriptor
public FileChannel getChannel()
FileChannel
对象。
的返回信道的初始position
将等于从文件中读取的字节数量为止。读取该数据流的字节将增加通道的位置。改变通道的位置,无论是显式或通过阅读,将改变这一流的文件位置。
protected void finalize() throws IOException
close
方法此文件输入流被调用时,没有对它的引用。
finalize
方法重写,继承类
Object
IOException
如果I/O错误发生。
close()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.