Interface FileIO
- All Known Implementing Classes:
HadoopFileIO
public interface FileIO
Interface for file IO operations. Connectors can implement their own version of the
FileIO depending upon their environment. The DefaultEngine takes FileIO instance
as input and all I/O operations from the default engine are done using the passed in FileIO instance.-
Method Summary
Modifier and TypeMethodDescriptionbooleanDelete the file at given path.Get the configuration value for the given key.getFileStatus(String path) Get the metadata of the file at the given path.List the paths in the same directory that are lexicographically greater or equal to (UTF-8 sorting) the given `path`.booleanCreate a directory at the given path including parent directories.newInputFile(String path, long fileSize) Get anInputFilefor file at given path which can be used to read the file from any arbitrary position in the file.newOutputFile(String path) Create aOutputFileto write new file at the given path.resolvePath(String path) Resolve the given path to a fully qualified path.
-
Method Details
-
listFrom
List the paths in the same directory that are lexicographically greater or equal to (UTF-8 sorting) the given `path`. The result should also be sorted by the file name.- Parameters:
filePath- Fully qualified path to a file- Returns:
- Closeable iterator of files. It is the responsibility of the caller to close the iterator.
- Throws:
FileNotFoundException- if the file at the given path is not foundIOException- for any other IO error.
-
getFileStatus
Get the metadata of the file at the given path.- Parameters:
path- Fully qualified path to the file.- Returns:
- Metadata of the file.
- Throws:
IOException- for any IO error.
-
resolvePath
Resolve the given path to a fully qualified path.- Parameters:
path- Input path- Returns:
- Fully qualified path.
- Throws:
FileNotFoundException- If the given path doesn't exist.IOException- for any other IO error.
-
mkdirs
Create a directory at the given path including parent directories. This mimics the behavior of `mkdir -p` in Unix.- Parameters:
path- Full qualified path to create a directory at.- Returns:
- true if the directory was created successfully, false otherwise.
- Throws:
IOException- for any IO error.
-
newInputFile
Get anInputFilefor file at given path which can be used to read the file from any arbitrary position in the file.- Parameters:
path- Fully qualified path to the file.fileSize- Size of the file in bytes.- Returns:
InputFileinstance.
-
newOutputFile
Create aOutputFileto write new file at the given path.- Parameters:
path- Fully qualified path to the file.- Returns:
OutputFileinstance which can be used to write to the file.
-
delete
Delete the file at given path.- Parameters:
path- the path to delete. If path is a directory throws an exception.- Returns:
- true if delete is successful else false.
- Throws:
IOException- for any IO error.
-
getConf
Get the configuration value for the given key.TODO: should be in a separate interface? may be called ConfigurationProvider?
- Parameters:
confKey- configuration key name- Returns:
- If no such value is present, an
Optional.empty()is returned.
-