java.lang.Object | +--java.io.InputStream | +--java.io.FileInputStream
Safe: A FileInputStream obtains input bytes
from a file in a file system. What files
are available depends on the host environment.
FileInputStream is meant for reading streams of raw bytes
such as image data. For reading streams of characters, consider using
FileReader.
java.io.File,
java.io.FileDescriptor,
java.io.FileOutputStreamFileInputStream(File file)
FileInputStream by
opening a connection to an actual file,
the file named by the File
object file in the file system.
FileInputStream(FileDescriptor fdObj)
FileInputStream by using the file descriptor
fdObj, which represents an existing connection to an
actual file in the file system.
FileInputStream(String name)
FileInputStream by
opening a connection to an actual file,
the file named by the path name name
in the file system.
int
available()
void
close()
protected void
finalize()
close method of this file input stream is
called when there are no more references to it.
java.nio.channels.FileChannel
getChannel()
FileChannel
object associated with this file input stream.
FileDescriptor
getFD()
FileDescriptor
object that represents the connection to
the actual file in the file system being
used by this FileInputStream.
int
read(byte[] b)
b.length bytes of data from this input
stream into an array of bytes.
int
read(byte[] b,
int off,
int len)
len bytes of data from this input stream
into an array of bytes.
private FileDescriptor fd
private java.nio.channels.FileChannel channel
public FileInputStream(String name) throws FileNotFoundException
FileInputStream by
opening a connection to an actual file,
the file named by the path name name
in the file system. A new FileDescriptor
object is created to represent this file
connection.
First, if there is a security
manager, its checkRead method
is called with the name argument
as its argument.
If the named file does not exist, is a directory rather than a regular
file, or for some other reason cannot be opened for reading then a
FileNotFoundException is thrown.
name - the system-dependent file name.java.lang.SecurityManager#checkRead(java.lang.String)public FileInputStream(File file) throws FileNotFoundException
FileInputStream by
opening a connection to an actual file,
the file named by the File
object file in the file system.
A new FileDescriptor object
is created to represent this file connection.
First, if there is a security manager,
its checkRead method is called
with the path represented by the file
argument as its argument.
If the named file does not exist, is a directory rather than a regular
file, or for some other reason cannot be opened for reading then a
FileNotFoundException is thrown.
file - the file to be opened for reading.java.io.File#getPath(),
java.lang.SecurityManager#checkRead(java.lang.String)public FileInputStream(FileDescriptor fdObj)
FileInputStream by using the file descriptor
fdObj, which represents an existing connection to an
actual file in the file system.
If there is a security manager, its checkRead method is
called with the file descriptor fdObj as its argument to
see if it's ok to read the file descriptor. If read access is denied
to the file descriptor a SecurityException is thrown.
If fdObj is null then a NullPointerException
is thrown.
fdObj - the file descriptor to be opened for reading.
SecurityException - if a security manager exists and its
checkRead method denies read access to the
file descriptor.SecurityManager.checkRead(java.io.FileDescriptor)private void open(String name) throws FileNotFoundException
name - the name of the file
FileNotFoundExceptionpublic int read() throws IOException
read in class InputStream-1 if the end of the
file is reached.
IOExceptionprivate int readBytes(byte[] b, int off, int len) throws IOException
b - the data to be writtenoff - the start offset in the datalen - the number of bytes that are written
IOExceptionpublic int read(byte[] b) throws IOException
b.length bytes of data from this input
stream into an array of bytes. This method blocks until some input
is available.
read in class InputStreamb - the buffer into which the data is read.
-1 if there is no more data because the end of
the file has been reached.
IOExceptionjava.io.InputStream#read(byte[], int, int)public int read(byte[] b, int off, int len) throws IOException
len bytes of data from this input stream
into an array of bytes. This method blocks until some input is
available.
read in class InputStreamb - the buffer into which the data is read.off - the start offset of the data.len - the maximum number of bytes read.
-1 if there is no more data because the end of
the file has been reached.
IOExceptionjava.io.InputStream#read()public long skip(long n) throws IOException
n bytes of data from the
input stream. The skip method may, for a variety of
reasons, end up skipping over some smaller number of bytes,
possibly 0. The actual number of bytes skipped is returned.
skip in class InputStreamn - the number of bytes to be skipped.
IOExceptionpublic int available() throws IOException
available in class InputStreamIOExceptionpublic void close() throws IOException
If this stream has an associated channel then the channel is closed as well.
close in class InputStreampublic final FileDescriptor getFD() throws IOException
FileDescriptor
object that represents the connection to
the actual file in the file system being
used by this FileInputStream.
IOExceptionjava.io.FileDescriptorpublic java.nio.channels.FileChannel getChannel()
FileChannel
object associated with this file input stream.
The initial position of the returned channel will be equal to the
number of bytes read from the file so far. Reading bytes from this
stream will increment the channel's position. Changing the channel's
position, either explicitly or by reading, will change this stream's
file position.
private static void initIDs()
private void close0() throws IOException
protected void finalize() throws IOException
close method of this file input stream is
called when there are no more references to it.
IOExceptionjava.io.FileInputStream#close()