# Package org.apache.commons.configuration2.io

A package with classes related to I/O operations.

Most of the interfaces and classes contained in this package are related to file-based configurations. For instance, the basic interfaces for reading and writing data or for managing a reference to a file are defined here. This package also contains various strategy classes for locating files. They can be used to construct a location strategy for the configuration sources of a specific application.

- Interface Summary
  Interface | Description
  --- | ---
  FileBased | Definition of an interface to be implemented by objects which know how to read and write themselves from or to a character stream.
  FileHandlerListener | A listener interface for receiving notifications about updates of a `FileHandler`.
  FileLocationStrategy | An interface allowing applications to customize the process of locating a file.
  FileLocatorAware | Definition of an interface to be implemented by `FileBased` objects which need access to the current `FileLocator`.
  FileOptionsProvider | Some FileSystems allow options to be passed on File operations.
  InputStreamSupport | Definition of an interface to be implemented by objects which support reading from an input stream.

- Class Summary
  Class | Description
  --- | ---
  AbsoluteNameLocationStrategy | A specialized implementation of `FileLocationStrategy` which checks whether the provided file name is already an absolute file name.
  BasePathLocationStrategy | A specialized implementation of `FileLocationStrategy` which tries to construct a file path from the locator's base path and file name.
  ClasspathLocationStrategy | A specialized `FileLocationStrategy` implementation which searches for files on the class path.
  CombinedLocationStrategy | A specialized implementation of a `FileLocationStrategy` which encapsulates an arbitrary number of `FileLocationStrategy` objects.
  ConfigurationLogger | A class providing basic logging capabilities.
  DefaultFileSystem | FileSystem that uses java.io.File or HttpClient.
  FileHandler | A class that manages persistence of an associated `FileBased` object.
  FileHandlerListenerAdapter | An adapter class simplifying the implementation of custom `FileHandlerListener` classes.
  FileLocator | A class describing the location of a file.
  FileLocator.FileLocatorBuilder | A typical builder implementation for creating `FileLocator` objects.
  FileLocatorUtils | A utility class providing helper methods related to locating files.
  FileSystem | Abstract layer to allow various types of file systems.
  FileSystemLocationStrategy | A specialized implementation of `FileLocationStrategy` which uses the passed in `FileSystem` to locate a file.
  HomeDirectoryLocationStrategy | A specialized implementation of `FileLocationStrategy` which searches for files in the user's home directory or another special configurable directory.
  ProvidedURLLocationStrategy | A specialized implementation of `FileLocationStrategy` which checks whether a passed in `FileLocator` already has a defined URL.
  URLConnectionOptions | Carries options and operates on `URLConnection`.
  VerifiableOutputStream | OutputStream that can be checked for errors after it is written to.
  VFSFileSystem | FileSystem that uses Apache Commons VFS.