org.apache.tools.ant.utilClass LazyFileOutputStream
- java.lang.Object
- java.io.OutputStream
- org.apache.tools.ant.util.LazyFileOutputStream
- All Implemented Interfaces:
- java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable
public class LazyFileOutputStream extends java.io.OutputStream
Class that delays opening the output file until the first bytes shall be written or the methodopen
has been invoked explicitly.
- Since:
- Ant 1.6
Constructor Summary
Constructors Constructor and Description LazyFileOutputStream(java.io.File f)
Creates a stream that will eventually write to the file with the given name and replace it.LazyFileOutputStream(java.io.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(java.io.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).LazyFileOutputStream(java.lang.String name)
Creates a stream that will eventually write to the file with the given name and replace it.LazyFileOutputStream(java.lang.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.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
close()
Close the file.void
open()
Explicitly open the file for writing.void
write(byte[] b)
Delegates to the three-arg version.void
write(byte[] b, int offset, int len)
Write part of a byte array.void
write(int b)
Write a byte.
Constructor Detail
LazyFileOutputStream
public LazyFileOutputStream(java.lang.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(java.lang.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(java.io.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(java.io.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(java.io.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
open
public void open() throws java.io.IOExceptionExplicitly open the file for writing.Returns silently if the file has already been opened.
- Throws:
java.io.IOException
- if there is an error.
close
public void close() throws java.io.IOExceptionClose the file.
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
- if there is an error.
write
public void write(byte[] b) throws java.io.IOExceptionDelegates to the three-arg version.
- Overrides:
write
in classjava.io.OutputStream
- Parameters:
b
- the bytearray to write.- Throws:
java.io.IOException
- if there is a problem.
write
public void write(byte[] b, int offset, int len) throws java.io.IOExceptionWrite part of a byte array.
- Overrides:
write
in classjava.io.OutputStream
- Parameters:
b
- the byte array.offset
- write from this index.len
- the number of bytes to write.- Throws:
java.io.IOException
- if there is a problem.
write
public void write(int b) throws java.io.IOExceptionWrite a byte.
- Specified by:
write
in classjava.io.OutputStream
- Parameters:
b
- the byte to write.- Throws:
java.io.IOException
- if there is a problem.