public class FileInputStream extends InputStream
Constructor and Description |
---|
FileInputStream(File file)
This method initializes a
FileInputStream to read from the
specified File object. |
FileInputStream(FileDescriptor fdObj)
This method initializes a
FileInputStream to read from the
specified FileDescriptor object. |
FileInputStream(String name)
This method initializes a
FileInputStream to read from the
specified named file. |
Modifier and Type | Method and Description |
---|---|
int |
available()
This method returns the number of bytes that can be read from this
stream before a read can block.
|
void |
close()
This method closes the stream.
|
protected void |
finalize()
Called on an object by the Virtual Machine at most once,
at some point after the Object is determined unreachable
but before it is destroyed.
|
FileChannel |
getChannel()
This method creates a java.nio.channels.FileChannel.
|
FileDescriptor |
getFD()
This method returns a
FileDescriptor object representing the
underlying native file handle of the file this stream is reading
from |
int |
read()
This method reads an unsigned byte from the input stream and returns it
as an int in the range of 0-255.
|
int |
read(byte[] buf)
This method reads bytes from a stream and stores them into a caller
supplied buffer.
|
int |
read(byte[] buf,
int offset,
int len)
This method read bytes from a stream and stores them into a caller
supplied buffer.
|
long |
skip(long numBytes)
This method skips the specified number of bytes in the stream.
|
mark, markSupported, reset
public FileInputStream(String name) throws FileNotFoundException
FileInputStream
to read from the
specified named file. A security check is first made to determine
whether or not access to this file is allowed. This is done by
calling the checkRead()
method of the
SecurityManager
(if one exists) with the name of this file. An exception is thrown
if reading is not allowed. If the file does not exist, an exception
is also thrown.name
- The name of the file this stream should read fromSecurityException
- If read access to the file is not allowedFileNotFoundException
- If the file does not exist
or if it is a directorypublic FileInputStream(File file) throws FileNotFoundException
FileInputStream
to read from the
specified File
object. A security check is first
made to determine
whether or not access to this file is allowed. This is done by
calling the checkRead()
method of the
SecurityManager
(if one exists) with the name of this file. An exception is thrown
if reading is not allowed. If the file does not exist, an exception
is also thrown.file
- The File
object this stream should read fromSecurityException
- If read access to the file is not allowedFileNotFoundException
- If the file does not exist
or if it is a directory.public FileInputStream(FileDescriptor fdObj)
FileInputStream
to read from the
specified FileDescriptor
object. A security
check is first made to
determine whether or not access to this file is allowed. This is done by
calling the checkRead()
method of the
SecurityManager
(if one exists) with the specified FileDescriptor
An exception is
thrown if reading is not allowed.fdObj
- The FileDescriptor
object this stream
should read fromSecurityException
- If read access to the file is not allowedpublic int available() throws IOException
This method returns the number of unread bytes remaining in the file if the descriptor being read from is an actual file. If this method is reading from a ''special'' file such a the standard input, this method will return the appropriate value for the stream being read.
Be aware that reads on plain files that do not reside locally might possibly block even if this method says they should not. For example, a remote server might crash, preventing an NFS mounted file from being read.
available
in class InputStream
IOException
- If an error occurspublic void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class InputStream
IOException
- If an error occurs.protected void finalize() throws IOException
Object
java.lang.ref
package.
Virtual Machines are free to not call this method if
they can determine that it does nothing important; for
example, if your class extends Object and overrides
finalize to do simply super.finalize()
.
finalize() will be called by a Thread
that has no
locks on any Objects, and may be called concurrently.
There are no guarantees on the order in which multiple
objects are finalized. This means that finalize() is
usually unsuited for performing actions that must be
thread-safe, and that your implementation must be
use defensive programming if it is to always work.
If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.
It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.
Unlike constructors, finalize() does not get called
for an object's superclass unless the implementation
specifically calls super.finalize()
.
The default implementation does nothing.
finalize
in class Object
IOException
System.gc()
,
System.runFinalizersOnExit(boolean)
,
java.lang.ref
public final FileDescriptor getFD() throws IOException
FileDescriptor
object representing the
underlying native file handle of the file this stream is reading
fromFileDescriptor
for this streamIOException
- If an error occurspublic int read() throws IOException
This method will block until the byte can be read.
read
in class InputStream
IOException
- If an error occurspublic int read(byte[] buf) throws IOException
This method will block until some data can be read.
This method operates by calling an overloaded read method like so:
read(buf, 0, buf.length)
read
in class InputStream
buf
- The buffer into which the bytes read will be stored.IOException
- If an error occurs.public int read(byte[] buf, int offset, int len) throws IOException
offset
into
the buffer and attempts to read len
bytes. This method can
return before reading the number of bytes requested. The actual number
of bytes read is returned as an int. A -1 is returned to indicate the
end of the stream.
This method will block until some data can be read.
read
in class InputStream
buf
- The array into which the bytes read should be storedoffset
- The offset into the array to start storing byteslen
- The requested number of bytes to readIOException
- If an error occurs.public long skip(long numBytes) throws IOException
skip
in class InputStream
numBytes
- The requested number of bytes to skipIOException
- If an error occurspublic FileChannel getChannel()