FileOutputStream | Android Developers

FileOutputStream


public

class
FileOutputStream




extends OutputStream


Known direct subclasses

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. 

Known indirect subclasses

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


java.io.OutputStream

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.


java.lang.Object

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.


java.io.Closeable

From interface



abstract

void

close()

Closes this stream and releases any system resources associated
with it.


java.io.Flushable

From interface



abstract

void

flush()

Flushes this stream by writing any buffered output to the underlying
stream.


java.lang.AutoCloseable

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()