Class 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 method open has been invoked explicitly.
    Since:
    Ant 1.6
    • Constructor Summary

      Constructors 
      Constructor 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 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.
      • Methods inherited from class java.io.OutputStream

        flush, nullOutputStream
      • 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.
        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.IOException
        Explicitly 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.IOException
        Close the file.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.OutputStream
        Throws:
        java.io.IOException - if there is an error.
      • write

        public void write​(byte[] b)
                   throws java.io.IOException
        Delegates to the three-arg version.
        Overrides:
        write in class java.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.IOException
        Write part of a byte array.
        Overrides:
        write in class java.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.IOException
        Write a byte.
        Specified by:
        write in class java.io.OutputStream
        Parameters:
        b - the byte to write.
        Throws:
        java.io.IOException - if there is a problem.