org.apache.tools.ant.util
Class LazyFileOutputStream

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--org.apache.tools.ant.util.LazyFileOutputStream

public class LazyFileOutputStream
extends java.io.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(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
 void close()
           
 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)
           
 void write(int b)
           
 
Methods inherited from class java.io.OutputStream
flush
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.


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.


LazyFileOutputStream

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


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.


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

Method Detail

open

public void open()
          throws java.io.IOException
Explicitly open the file for writing.

Returns silently if the file has already been opened.

java.io.IOException

close

public void close()
           throws java.io.IOException
Overrides:
close in class java.io.OutputStream
java.io.IOException

write

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

Overrides:
write in class java.io.OutputStream
java.io.IOException

write

public void write(byte[] b,
                  int offset,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream
java.io.IOException

write

public void write(int b)
           throws java.io.IOException
Specified by:
write in class java.io.OutputStream
java.io.IOException


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.