Class FTPFileSystem

All Implemented Interfaces:
Closeable, AutoCloseable, Configurable, BulkDeleteSource, org.apache.hadoop.fs.PathCapabilities, org.apache.hadoop.security.token.DelegationTokenIssuer

@Public @Stable public class FTPFileSystem extends FileSystem

A FileSystem backed by an FTP client provided by Apache Commons Net.

  • Field Details

  • Constructor Details

    • FTPFileSystem

      public FTPFileSystem()
  • Method Details

    • getScheme

      public String getScheme()
      Return the protocol scheme for the FileSystem.

      Overrides:
      getScheme in class FileSystem
      Returns:
      ftp
    • getDefaultPort

      protected int getDefaultPort()
      Get the default port for this FTPFileSystem.
      Overrides:
      getDefaultPort in class FileSystem
      Returns:
      the default port
    • initialize

      public void initialize(URI uri, Configuration conf) throws IOException
      Description copied from class: FileSystem
      Initialize a FileSystem. Called after the new FileSystem instance is constructed, and before it is ready for use. FileSystem implementations overriding this method MUST forward it to their superclass, though the order in which it is done, and whether to alter the configuration before the invocation are options of the subclass.
      Overrides:
      initialize in class FileSystem
      Parameters:
      uri - a URI whose authority section names the host, port, etc. for this FileSystem
      conf - the configuration
      Throws:
      IOException - on any failure to initialize this instance.
    • open

      public FSDataInputStream open(Path file, int bufferSize) throws IOException
      Description copied from class: FileSystem
      Opens an FSDataInputStream at the indicated Path.
      Specified by:
      open in class FileSystem
      Parameters:
      file - the file name to open
      bufferSize - the size of the buffer to be used.
      Returns:
      input stream.
      Throws:
      IOException - IO failure
    • create

      public FSDataOutputStream create(Path file, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
      A stream obtained via this call must be closed before using other APIs of this class or else the invocation will block.
      Specified by:
      create in class FileSystem
      Parameters:
      file - the file name to open
      permission - file permission
      overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
      bufferSize - the size of the buffer to be used.
      replication - required block replication for the file.
      blockSize - block size
      progress - the progress reporter
      Returns:
      output stream.
      Throws:
      IOException - IO failure
      See Also:
    • append

      public FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException
      This optional operation is not yet supported.
      Specified by:
      append in class FileSystem
      Parameters:
      f - the existing file to be appended.
      bufferSize - the size of the buffer to be used.
      progress - for reporting progress if it is not null.
      Returns:
      output stream.
      Throws:
      IOException - IO failure
    • delete

      public boolean delete(Path file, boolean recursive) throws IOException
      Description copied from class: FileSystem
      Delete a file.
      Specified by:
      delete in class FileSystem
      Parameters:
      file - the path to delete.
      recursive - if path is a directory and set to true, the directory is deleted else throws an exception. In case of a file the recursive can be set to either true or false.
      Returns:
      true if delete is successful else false.
      Throws:
      IOException - IO failure
    • getUri

      public URI getUri()
      Description copied from class: FileSystem
      Returns a URI which identifies this FileSystem.
      Specified by:
      getUri in class FileSystem
      Returns:
      the URI of this filesystem.
    • listStatus

      public FileStatus[] listStatus(Path file) throws IOException
      Description copied from class: FileSystem
      List the statuses of the files/directories in the given path if the path is a directory.

      Does not guarantee to return the List of files/directories status in a sorted order.

      Will not return null. Expect IOException upon access error.

      Specified by:
      listStatus in class FileSystem
      Parameters:
      file - given path
      Returns:
      the statuses of the files/directories in the given patch
      Throws:
      FileNotFoundException - when the path does not exist
      IOException - see specific implementation
    • getFileStatus

      public FileStatus getFileStatus(Path file) throws IOException
      Description copied from class: FileSystem
      Return a file status object that represents the path.
      Specified by:
      getFileStatus in class FileSystem
      Parameters:
      file - The path we want information from
      Returns:
      a FileStatus object
      Throws:
      FileNotFoundException - when the path does not exist
      IOException - see specific implementation
    • mkdirs

      public boolean mkdirs(Path file, FsPermission permission) throws IOException
      Description copied from class: FileSystem
      Make the given file and all non-existent parents into directories. Has roughly the semantics of Unix @{code mkdir -p}. Existence of the directory hierarchy is not an error.
      Specified by:
      mkdirs in class FileSystem
      Parameters:
      file - path to create
      permission - to apply to f
      Returns:
      if mkdir success true, not false.
      Throws:
      IOException - IO failure
    • rename

      public boolean rename(Path src, Path dst) throws IOException
      Description copied from class: FileSystem
      Renames Path src to Path dst.
      Specified by:
      rename in class FileSystem
      Parameters:
      src - path to be renamed
      dst - new path after rename
      Returns:
      true if rename is successful
      Throws:
      IOException - on failure
    • getWorkingDirectory

      public Path getWorkingDirectory()
      Description copied from class: FileSystem
      Get the current working directory for the given FileSystem
      Specified by:
      getWorkingDirectory in class FileSystem
      Returns:
      the directory pathname
    • getHomeDirectory

      public Path getHomeDirectory()
      Description copied from class: FileSystem
      Return the current user's home directory in this FileSystem. The default implementation returns "/user/$USER/".
      Overrides:
      getHomeDirectory in class FileSystem
      Returns:
      the path.
    • setWorkingDirectory

      public void setWorkingDirectory(Path newDir)
      Description copied from class: FileSystem
      Set the current working directory for the given FileSystem. All relative paths will be resolved relative to it.
      Specified by:
      setWorkingDirectory in class FileSystem
      Parameters:
      newDir - Path of new working directory