org.apache.commons.net.io
Class FromNetASCIIOutputStream

java.lang.Object
  extended byjava.io.OutputStream
      extended byjava.io.FilterOutputStream
          extended byorg.apache.commons.net.io.FromNetASCIIOutputStream

public final class FromNetASCIIOutputStream
extends java.io.FilterOutputStream

This class wraps an output stream, replacing all occurrences of <CR><LF> (carriage return followed by a linefeed), which is the NETASCII standard for representing a newline, with the local line separator representation. You would use this class to implement ASCII file transfers requiring conversion from NETASCII.

Because of the translation process, a call to flush() will not flush the last byte written if that byte was a carriage return. A call to close() , however, will flush the carriage return.

Author:
Daniel F. Savarese

Field Summary
private  boolean __lastWasCR
           
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
FromNetASCIIOutputStream(java.io.OutputStream output)
          Creates a FromNetASCIIOutputStream instance that wraps an existing OutputStream.
 
Method Summary
private  void __write(int ch)
           
 void close()
          Closes the stream, writing all pending data.
 void write(byte[] buffer)
          Writes a byte array to the stream.
 void write(byte[] buffer, int offset, int length)
          Writes a number of bytes from a byte array to the stream starting from a given offset.
 void write(int ch)
          Writes a byte to the stream.
 
Methods inherited from class java.io.FilterOutputStream
flush
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

__lastWasCR

private boolean __lastWasCR
Constructor Detail

FromNetASCIIOutputStream

public FromNetASCIIOutputStream(java.io.OutputStream output)
Creates a FromNetASCIIOutputStream instance that wraps an existing OutputStream.

Parameters:
output - The OutputStream to wrap.
Method Detail

__write

private void __write(int ch)
              throws java.io.IOException
Throws:
java.io.IOException

write

public void write(int ch)
           throws java.io.IOException
Writes a byte to the stream. Note that a call to this method might not actually write a byte to the underlying stream until a subsequent character is written, from which it can be determined if a NETASCII line separator was encountered. This is transparent to the programmer and is only mentioned for completeness.

Parameters:
ch - The byte to write.
Throws:
java.io.IOException - If an error occurs while writing to the underlying stream.

write

public void write(byte[] buffer)
           throws java.io.IOException
Writes a byte array to the stream.

Parameters:
buffer - The byte array to write.
Throws:
java.io.IOException - If an error occurs while writing to the underlying stream.

write

public void write(byte[] buffer,
                  int offset,
                  int length)
           throws java.io.IOException
Writes a number of bytes from a byte array to the stream starting from a given offset.

Parameters:
buffer - The byte array to write.
offset - The offset into the array at which to start copying data.
length - The number of bytes to write.
Throws:
java.io.IOException - If an error occurs while writing to the underlying stream.

close

public void close()
           throws java.io.IOException
Closes the stream, writing all pending data.

Throws:
java.io.IOException - If an error occurs while closing the stream.