Tóm Tắt
FileOutputStream
public
class
FileOutputStream
extends OutputStream
ParcelFileDescriptor.AutoCloseOutputStream
ParcelFileDescriptor.AutoCloseOutputStream
An OutputStream you can create on a ParcelFileDescriptor, which will
take care of calling ParcelFileDescriptor.close()
for you when the stream is closed.
AssetFileDescriptor.AutoCloseOutputStream
AssetFileDescriptor.AutoCloseOutputStream
An OutputStream you can create on a ParcelFileDescriptor, which will
take care of calling ParcelFileDescriptor.close()
for you when the stream is closed.
A file output stream is an output stream for writing data to a
File
or to a FileDescriptor
. Whether or not
a file is available or may be created depends upon the underlying
platform. Some platforms, in particular, allow a file to be opened
for writing by only one FileOutputStream (or other
file-writing object) at a time. In such situations the constructors in
this class will fail if the file involved is already open.
FileOutputStream
is meant for writing streams of raw bytes
such as image data. For writing streams of characters, consider using
FileWriter
.
Summary
Public constructors
FileOutputStream(String name)
Creates a file output stream to write to the file with the
specified name.
FileOutputStream(String name, boolean append)
Creates a file output stream to write to the file with the specified
name.
FileOutputStream(File file)
Creates a file output stream to write to the file represented by
the specified File
object.
FileOutputStream(File file, boolean append)
Creates a file output stream to write to the file represented by
the specified File
object.
FileOutputStream(FileDescriptor fdObj)
Creates a file output stream to write to the specified file
descriptor, which represents an existing connection to an actual
file in the file system.
Public methods
void
close()
Closes this file output stream and releases any system resources
associated with this stream.
FileChannel
getChannel()
Returns the unique FileChannel
object associated with this file output stream.
final
FileDescriptor
getFD()
Returns the file descriptor associated with this stream.
void
write(byte[] b)
Writes b.length
bytes from the specified byte array
to this file output stream.
void
write(byte[] b, int off, int len)
Writes len
bytes from the specified byte array
starting at offset off
to this file output stream.
void
write(int b)
Writes the specified byte to this file output stream.
Protected methods
void
finalize()
Cleans up the connection to the file, and ensures that the
close
method of this file output stream is
called when there are no more references to this stream.
Inherited methods
From class
void
close()
Closes this output stream and releases any system resources
associated with this stream.
void
flush()
Flushes this output stream and forces any buffered output bytes
to be written out.
static
OutputStream
nullOutputStream()
Returns a new OutputStream
which discards all bytes.
void
write(byte[] b)
Writes b.length
bytes from the specified byte array
to this output stream.
void
write(byte[] b, int off, int len)
Writes len
bytes from the specified byte array
starting at offset off
to this output stream.
abstract
void
write(int b)
Writes the specified byte to this output stream.
From class
Object
clone()
Creates and returns a copy of this object.
boolean
equals(Object obj)
Indicates whether some other object is “equal to” this one.
void
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
final
Class<?>
getClass()
Returns the runtime class of this Object
.
int
hashCode()
Returns a hash code value for the object.
final
void
notify()
Wakes up a single thread that is waiting on this object’s
monitor.
final
void
notifyAll()
Wakes up all threads that are waiting on this object’s monitor.
String
toString()
Returns a string representation of the object.
final
void
wait(long timeout, int nanos)
Causes the current thread to wait until another thread invokes the
notify()
method or the
notifyAll()
method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.
final
void
wait(long timeout)
Causes the current thread to wait until either another thread invokes the
notify()
method or the
notifyAll()
method for this object, or a
specified amount of time has elapsed.
final
void
wait()
Causes the current thread to wait until another thread invokes the
notify()
method or the
notifyAll()
method for this object.
From interface
abstract
void
close()
Closes this stream and releases any system resources associated
with it.
From interface
abstract
void
flush()
Flushes this stream by writing any buffered output to the underlying
stream.
From interface
abstract
void
close()
Closes this resource, relinquishing any underlying resources.
Public constructors
FileOutputStream
Added in API level 1
public FileOutputStream (String name)
Creates a file output stream to write to the file with the
specified name. A new FileDescriptor
object is
created to represent this file connection.
First, if there is a security manager, its checkWrite
method is called with name
as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
Parameters
name
String
: the system-dependent filename
Throws
FileNotFoundException
if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reason
SecurityException
if a security manager exists and its
checkWrite
method denies write access
to the file.
See also:
SecurityManager.checkWrite(java.lang.String)
FileOutputStream
Added in API level 1
public FileOutputStream (String name, boolean append)
Creates a file output stream to write to the file with the specified
name. If the second argument is true
, then
bytes will be written to the end of the file rather than the beginning.
A new FileDescriptor
object is created to represent this
file connection.
First, if there is a security manager, its checkWrite
method is called with name
as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
Parameters
name
String
: the system-dependent file name
append
boolean
: if true
, then bytes will be written
to the end of the file rather than the beginning
Throws
FileNotFoundException
if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reason.
SecurityException
if a security manager exists and its
checkWrite
method denies write access
to the file.
See also:
SecurityManager.checkWrite(java.lang.String)
FileOutputStream
Added in API level 1
public FileOutputStream (File file)
Creates a file output stream to write to the file represented by
the specified File
object. A new
FileDescriptor
object is created to represent this
file connection.
First, if there is a security manager, its checkWrite
method is called with the path represented by the file
argument as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
Parameters
file
File
: the file to be opened for writing.
Throws
FileNotFoundException
if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reason
SecurityException
if a security manager exists and its
checkWrite
method denies write access
to the file.
See also:
File.getPath()
SecurityException
SecurityManager.checkWrite(java.lang.String)
FileOutputStream
Added in API level 1
public FileOutputStream (File file, boolean append)
Creates a file output stream to write to the file represented by
the specified File
object. If the second argument is
true
, then bytes will be written to the end of the file
rather than the beginning. A new FileDescriptor
object is
created to represent this file connection.
First, if there is a security manager, its checkWrite
method is called with the path represented by the file
argument as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
Parameters
file
File
: the file to be opened for writing.
append
boolean
: if true
, then bytes will be written
to the end of the file rather than the beginning
Throws
FileNotFoundException
if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reason
SecurityException
if a security manager exists and its
checkWrite
method denies write access
to the file.
See also:
File.getPath()
SecurityException
SecurityManager.checkWrite(java.lang.String)
FileOutputStream
Added in API level 1
public FileOutputStream (FileDescriptor fdObj)
Creates a file output stream to write to the specified file
descriptor, which represents an existing connection to an actual
file in the file system.
First, if there is a security manager, its checkWrite
method is called with the file descriptor fdObj
argument as its argument.
If fdObj
is null then a NullPointerException
is thrown.
This constructor does not throw an exception if fdObj
is invalid
.
However, if the methods are invoked on the resulting stream to attempt
I/O on the stream, an IOException
is thrown.
Parameters
fdObj
FileDescriptor
: the file descriptor to be opened for writing
Public methods
close
Added in API level 1
public void close ()
Closes this file output stream and releases any system resources
associated with this stream. This file output stream may no longer
be used for writing bytes.
If this stream has an associated channel then the channel is closed
as well.
Throws
IOException
if an I/O error occurs.
getChannel
Added in API level 1
public FileChannel getChannel ()
Returns the unique FileChannel
object associated with this file output stream.
The initial position
of the returned channel will be equal to the
number of bytes written to the file so far unless this stream is in
append mode, in which case it will be equal to the size of the file.
Writing bytes to this stream will increment the channel’s position
accordingly. Changing the channel’s position, either explicitly or by
writing, will change this stream’s file position.
Returns
FileChannel
the file channel associated with this file output stream
getFD
Added in API level 1
public final FileDescriptor getFD ()
Returns the file descriptor associated with this stream.
Returns
FileDescriptor
the FileDescriptor
object that represents
the connection to the file in the file system being used
by this FileOutputStream
object.
Throws
IOException
if an I/O error occurs.
See also:
FileDescriptor
write
Added in API level 1
public void write (byte[] b)
Writes b.length
bytes from the specified byte array
to this file output stream.
Parameters
b
byte
: the data.
Throws
IOException
if an I/O error occurs.
write
Added in API level 1
public void write (byte[] b, int off, int len)
Writes len
bytes from the specified byte array
starting at offset off
to this file output stream.
Parameters
b
byte
: the data.
off
int
: the start offset in the data.
len
int
: the number of bytes to write.
Throws
IOException
if an I/O error occurs.
write
Added in API level 1
public void write (int b)
Writes the specified byte to this file output stream. Implements
the write
method of OutputStream
.
Parameters
b
int
: the byte to be written.
Throws
IOException
if an I/O error occurs.
Protected methods
finalize
Added in API level 1
protected void finalize ()
Cleans up the connection to the file, and ensures that the
close
method of this file output stream is
called when there are no more references to this stream.
Throws
IOException
if an I/O error occurs.
See also:
FileInputStream.close()