Package 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
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected static int` | `DEFAULT_BUFFER_SIZE` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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 (4 KiB).
    `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 (4 KiB).
      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