FileDocCategorySizeDatePackage
ToNetASCIIOutputStream.javaAPI DocApache Commons NET 1.4.1 API3389Sat Dec 03 10:05:50 GMT 2005org.apache.commons.net.io

ToNetASCIIOutputStream

public final class ToNetASCIIOutputStream extends FilterOutputStream
This class wraps an output stream, replacing all singly occurring <LF> (linefeed) characters with <CR><LF> (carriage return followed by linefeed), which is the NETASCII standard for representing a newline. You would use this class to implement ASCII file transfers requiring conversion to NETASCII.

author
Daniel F. Savarese

Fields Summary
private boolean
__lastWasCR
Constructors Summary
public ToNetASCIIOutputStream(OutputStream output)
Creates a ToNetASCIIOutputStream instance that wraps an existing OutputStream.

param
output The OutputStream to wrap.

        super(output);
        __lastWasCR = false;
    
Methods Summary
public synchronized voidwrite(int ch)
Writes a byte to the stream. Note that a call to this method may result in multiple writes to the underlying input stream in order to convert naked newlines to NETASCII line separators. This is transparent to the programmer and is only mentioned for completeness.

param
ch The byte to write.
exception
IOException If an error occurs while writing to the underlying stream.

        switch (ch)
        {
        case '\r":
            __lastWasCR = true;
            out.write('\r");
            return ;
        case '\n":
            if (!__lastWasCR)
                out.write('\r");
            // Fall through
        default:
            __lastWasCR = false;
            out.write(ch);
            return ;
        }
    
public synchronized voidwrite(byte[] buffer)
Writes a byte array to the stream.

param
buffer The byte array to write.
exception
IOException If an error occurs while writing to the underlying stream.

        write(buffer, 0, buffer.length);
    
public synchronized voidwrite(byte[] buffer, int offset, int length)
Writes a number of bytes from a byte array to the stream starting from a given offset.

param
buffer The byte array to write.
param
offset The offset into the array at which to start copying data.
param
length The number of bytes to write.
exception
IOException If an error occurs while writing to the underlying stream.

        while (length-- > 0)
            write(buffer[offset++]);