DirectorySampleStream (Apache OpenNLP Tools 2.5.9 API)
Description: declaration: package: opennlp.tools.formats, class: DirectorySampleStream

# Class DirectorySampleStream

java.lang.Object
opennlp.tools.formats.DirectorySampleStream

All Implemented Interfaces:
  `AutoCloseable, ObjectStream<File>`

public class DirectorySampleStream extends Object implements ObjectStream<File>
The directory sample stream allows for creating an `ObjectStream<File>` from a directory listing of files.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DirectorySampleStream(File[] dirs, FileFilter fileFilter, boolean recursive)`
  Initializes a `DirectorySampleStream`.
  `DirectorySampleStream(File dir, FileFilter fileFilter, boolean recursive)`
  Initializes a `DirectorySampleStream`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the `ObjectStream` and releases all allocated resources.
  `File`
  `read()`
  Returns the next `T` object.
  `void`
  `reset()`
  Repositions the stream at the beginning and the previously seen object sequence will be repeated exactly.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### DirectorySampleStream

    public DirectorySampleStream(File[] dirs, FileFilter fileFilter, boolean recursive)
    Initializes a `DirectorySampleStream`.
    Parameters:
      `dirs` - The `directories` to read.
      `fileFilter` - The `filter` to apply while enumerating files.
      `recursive` - Enables or disables recursive file listing.
    Throws:
      `IllegalArgumentException` - Thrown if one element in `dirs` is not a directory.

  - ### DirectorySampleStream

    public DirectorySampleStream(File dir, FileFilter fileFilter, boolean recursive)
    Initializes a `DirectorySampleStream`.
    Parameters:
      `dir` - The `directory` to read.
      `fileFilter` - The `filter` to apply while enumerating files.
      `recursive` - Enables or disables recursive file listing.
    Throws:
      `IllegalArgumentException` - Thrown if `dir` is not a directory.

- ## Method Details

  - ### read

    public File read() throws IOException
    Description copied from interface: `ObjectStream`
    Returns the next `T` object. Calling this method repeatedly until it returns `null` will return each object from the underlying source exactly once.
    Specified by:
      `read` in interface `ObjectStream<File>`
    Returns:
      The next object or `null` to signal that the stream is exhausted.
    Throws:
      `IOException` - Thrown if there is an error during reading.

  - ### reset

    public void reset()
    Description copied from interface: `ObjectStream`
    Repositions the stream at the beginning and the previously seen object sequence will be repeated exactly. This method can be used to re-read the stream if multiple passes over the objects are required.

    The implementation of this method is optional.

    Specified by:
      `reset` in interface `ObjectStream<File>`

  - ### close

    public void close() throws IOException
    Closes the `ObjectStream` and releases all allocated resources. After close was called, it's not allowed to call `ObjectStream.read()` or `ObjectStream.reset()`. Calling this function has no effect on the stream.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `ObjectStream<File>`
    Throws:
      `IOException` - Thrown if there is an error during closing the stream.