org.apache.catalina.util

## Class IOTools

- java.lang.Object
- - org.apache.catalina.util.IOTools

    public class IOTools
    extends Object

Contains commonly needed I/O-related methods

Author:
  Dan Sandberg

### Field Summary

Fields
`protected static int` `DEFAULT_BUFFER_SIZE`

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `flow(InputStream is, OutputStream os)` Read input from input stream and write it to output stream until there is no more input from input stream using a new buffer of the default size (4kB).
`static void` `flow(Reader reader, Writer writer)` Read input from reader and write it to writer until there is no more input from reader.
`static void` `flow(Reader reader, Writer writer, char[] buf)` Read input from reader and write it to writer until there is no more input from reader.
`static int` `readFully(InputStream is, byte[] buf)` Read until EOF or the buffer is filled.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_BUFFER_SIZE

    protected static final int DEFAULT_BUFFER_SIZE

See Also:
  Constant Field Values

### Method Detail

#### flow

    public static void flow(Reader reader,
                            Writer writer,
                            char[] buf)
                     throws IOException

Read input from reader and write it to writer until there is no more input from reader.

Parameters:
  `reader` - the reader to read from.
  `writer` - the writer to write to.
  `buf` - the char array to use as a buffer
Throws:
  `IOException` - IO error

#### flow

    public static void flow(Reader reader,
                            Writer writer)
                     throws IOException

Read input from reader and write it to writer until there is no more input from reader.

Parameters:
  `reader` - the reader to read from.
  `writer` - the writer to write to.
Throws:
  `IOException` - IO error
See Also:
  `flow( Reader, Writer, char[] )`

#### flow

    public static void flow(InputStream is,
                            OutputStream os)
                     throws IOException

Read input from input stream and write it to output stream until there is no more input from input stream using a new buffer of the default size (4kB).

Parameters:
  `is` - input stream the input stream to read from.
  `os` - output stream the output stream to write to.
Throws:
  `IOException` - If an I/O error occurs during the copy

#### readFully

    public static int readFully(InputStream is,
                                byte[] buf)
                         throws IOException

Read until EOF or the buffer is filled.

Parameters:
  `is` - The source to read from
  `buf` - The buffer to write to
Returns:
  The number of bytes read
Throws:
  `IOException` - If an I/O error occurs during the read