org.apache.tomcat.util.http.fileupload.util

## Class Streams

- java.lang.Object
- - org.apache.tomcat.util.http.fileupload.util.Streams

    public final class Streams
    extends Object

Utility class for working with streams.

### Method Summary

Methods
`static String` `asString(InputStream pStream)` This convenience method allows to read a `FileItemStream`'s content into a string.
`static String` `asString(InputStream pStream, String pEncoding)` This convenience method allows to read a `FileItemStream`'s content into a string, using the given character encoding.
`static String` `checkFileName(String pFileName)` Checks, whether the given file name is valid in the sense, that it doesn't contain any NUL characters.
`static long` `copy(InputStream pInputStream, OutputStream pOutputStream, boolean pClose)` Copies the contents of the given `InputStream` to the given `OutputStream`.
`static long` `copy(InputStream pIn, OutputStream pOut, boolean pClose, byte[] pBuffer)` Copies the contents of the given `InputStream` to the given `OutputStream`.

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

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

### Method Detail

#### copy

    public static long copy(InputStream pInputStream,
            OutputStream pOutputStream,
            boolean pClose)
                     throws IOException

Copies the contents of the given `InputStream` to the given `OutputStream`. Shortcut for

       copy(pInputStream, pOutputStream, new byte[8192]);

Parameters:
  `pInputStream` - The input stream, which is being read. It is guaranteed, that `InputStream.close()` is called on the stream.
  `pOutputStream` - The output stream, to which data should be written. May be null, in which case the input streams contents are simply discarded.
  `pClose` - True guarantees, that `OutputStream.close()` is called on the stream. False indicates, that only `OutputStream.flush()` should be called finally.
Returns:
  Number of bytes, which have been copied.
Throws:
  `IOException` - An I/O error occurred.

#### copy

    public static long copy(InputStream pIn,
            OutputStream pOut,
            boolean pClose,
            byte[] pBuffer)
                     throws IOException

Copies the contents of the given `InputStream` to the given `OutputStream`.

Parameters:
  `pIn` - The input stream, which is being read. It is guaranteed, that `InputStream.close()` is called on the stream.
  `pOut` - The output stream, to which data should be written. May be null, in which case the input streams contents are simply discarded.
  `pClose` - True guarantees, that `OutputStream.close()` is called on the stream. False indicates, that only `OutputStream.flush()` should be called finally.
  `pBuffer` - Temporary buffer, which is to be used for copying data.
Returns:
  Number of bytes, which have been copied.
Throws:
  `IOException` - An I/O error occurred.

#### asString

    public static String asString(InputStream pStream)
                           throws IOException

This convenience method allows to read a `FileItemStream`'s content into a string. The platform's default character encoding is used for converting bytes into characters.

Parameters:
  `pStream` - The input stream to read.
Returns:
  The streams contents, as a string.
Throws:
  `IOException` - An I/O error occurred.
See Also:
  `asString(InputStream, String)`

#### asString

    public static String asString(InputStream pStream,
                  String pEncoding)
                           throws IOException

This convenience method allows to read a `FileItemStream`'s content into a string, using the given character encoding.

Parameters:
  `pStream` - The input stream to read.
  `pEncoding` - The character encoding, typically "UTF-8".
Returns:
  The streams contents, as a string.
Throws:
  `IOException` - An I/O error occurred.
See Also:
  `asString(InputStream)`

#### checkFileName

    public static String checkFileName(String pFileName)

Checks, whether the given file name is valid in the sense, that it doesn't contain any NUL characters. If the file name is valid, it will be returned without any modifications. Otherwise, an `InvalidFileNameException` is raised.

Parameters:
  `pFileName` - The file name to check
Returns:
  Unmodified file name, if valid.
Throws:
  `InvalidFileNameException` - The file name was found to be invalid.