Package opennlp.tools.formats

## 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 a stream from a directory listing of files.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DirectorySampleStream​(File[] dirs, FileFilter fileFilter, boolean recursive)` | Creates a new directory sample stream.
    `DirectorySampleStream​(File dir, FileFilter fileFilter, boolean recursive)` | Creates a new directory sample stream.

  - ### Method Summary

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

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

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

- - ### Constructor Detail

    - #### DirectorySampleStream

          public DirectorySampleStream​(File[] dirs,
                                       FileFilter fileFilter,
                                       boolean recursive)

      Creates a new directory sample stream.
      Parameters:
        `dirs` - The directories to read.
        `fileFilter` - The `filter` to apply while enumerating files.
        `recursive` - Enables or disables recursive file listing.

    - #### DirectorySampleStream

          public DirectorySampleStream​(File dir,
                                       FileFilter fileFilter,
                                       boolean recursive)

      Creates a new directory sample stream.
      Parameters:
        `dir` - The `directory`.
        `fileFilter` - The `filter` to apply while enumerating files.
        `recursive` - Enables or disables recursive file listing.

  - ### Method Detail

    - #### read

          public File read()
                    throws IOException

      Description copied from interface: `ObjectStream`
      Returns the next 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` - 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 its not allowed to call read or 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` - if there is an error during closing the stream