Package org.apache.tools.ant.util
Class LineOrientedOutputStream
java.lang.Object
java.io.OutputStream
org.apache.tools.ant.util.LineOrientedOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
- Direct Known Subclasses:
LineOrientedOutputStreamRedirector,LogOutputStream
Invokes
processLine whenever a full line has
been written to this stream.
Tries to be smart about line separators.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Writes all remainingvoidflush()Flush this log streamprotected voidConverts the buffer to a byte[] and sends it toprocessLineprotected voidprocessLine(byte[] line) Processes a line.protected abstract voidprocessLine(String line) Processes a line.final voidwrite(byte[] b, int off, int len) Write a block of characters to the output streamfinal voidwrite(int cc) Write the data to the buffer and flush the buffer, if a line separator is detected.Methods inherited from class java.io.OutputStream
nullOutputStream, write
-
Constructor Details
-
LineOrientedOutputStream
public LineOrientedOutputStream()
-
-
Method Details
-
write
Write the data to the buffer and flush the buffer, if a line separator is detected.- Specified by:
writein classOutputStream- Parameters:
cc- data to log (byte).- Throws:
IOException- if there is an error.
-
flush
Flush this log stream- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException- if there is an error.
-
processBuffer
Converts the buffer to a byte[] and sends it toprocessLine- Throws:
IOException- if there is an error.
-
processLine
Processes a line.- Parameters:
line- the line to log.- Throws:
IOException- if there is an error.
-
processLine
Processes a line.This implementations invokes the string-arg version converting the byte array using the default encoding. Subclasses are encouraged to override this method (and provide a dummy implementation of the String-arg version) so they don't interfere with the encoding of the underlying stream.
- Parameters:
line- the line to log.- Throws:
IOException- if there is an error.- Since:
- Ant 1.8.3
-
close
Writes all remaining- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream- Throws:
IOException- if there is an error.
-
write
Write a block of characters to the output stream- Overrides:
writein classOutputStream- Parameters:
b- the array containing the dataoff- the offset into the array where data startslen- the length of block- Throws:
IOException- if the data cannot be written into the stream.
-