org.apache.tools.ant.util

Class LazyFileOutputStream

public class LazyFileOutputStream extends OutputStream

Class that delays opening the output file until the first bytes shall be written or the method open has been invoked explicitly.

Since: Ant 1.6

Constructor Summary
LazyFileOutputStream(String name)
Creates a stream that will eventually write to the file with the given name and replace it.
LazyFileOutputStream(String name, boolean append)
Creates a stream that will eventually write to the file with the given name and optionally append to instead of replacing it.
LazyFileOutputStream(File f)
Creates a stream that will eventually write to the file with the given name and replace it.
LazyFileOutputStream(File file, boolean append)
Creates a stream that will eventually write to the file with the given name and optionally append to instead of replacing it.
LazyFileOutputStream(File file, boolean append, boolean alwaysCreate)
Creates a stream that will eventually write to the file with the given name, optionally append to instead of replacing it, and optionally always create a file (even if zero length).
Method Summary
voidclose()
Close the file.
voidopen()
Explicitly open the file for writing.
voidwrite(byte[] b)
Delegates to the three-arg version.
voidwrite(byte[] b, int offset, int len)
Write part of a byte array.
voidwrite(int b)
Write a byte.

Constructor Detail

LazyFileOutputStream

public LazyFileOutputStream(String name)
Creates a stream that will eventually write to the file with the given name and replace it.

Parameters: name the filename.

LazyFileOutputStream

public LazyFileOutputStream(String name, boolean append)
Creates a stream that will eventually write to the file with the given name and optionally append to instead of replacing it.

Parameters: name the filename. append if true append rather than replace.

LazyFileOutputStream

public LazyFileOutputStream(File f)
Creates a stream that will eventually write to the file with the given name and replace it.

Parameters: f the file to create.

LazyFileOutputStream

public LazyFileOutputStream(File file, boolean append)
Creates a stream that will eventually write to the file with the given name and optionally append to instead of replacing it.

Parameters: file the file to create. append if true append rather than replace.

LazyFileOutputStream

public LazyFileOutputStream(File file, boolean append, boolean alwaysCreate)
Creates a stream that will eventually write to the file with the given name, optionally append to instead of replacing it, and optionally always create a file (even if zero length).

Parameters: file the file to create. append if true append rather than replace. alwaysCreate if true create the file even if nothing to write.

Method Detail

close

public void close()
Close the file.

Throws: IOException if there is an error.

open

public void open()
Explicitly open the file for writing.

Returns silently if the file has already been opened.

Throws: IOException if there is an error.

write

public void write(byte[] b)
Delegates to the three-arg version.

Parameters: b the bytearray to write.

Throws: IOException if there is a problem.

write

public void write(byte[] b, int offset, int len)
Write part of a byte array.

Parameters: b the byte array. offset write from this index. len the number of bytes to write.

Throws: IOException if there is a probem.

write

public void write(int b)
Write a byte.

Parameters: b the byte to write.

Throws: IOException if there is a problem.