Interface Ftp

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
AbstractFtp, CommonsFtp, JschSftp, SshjSftp

public interface Ftp extends Closeable
FTP的统一规范接口
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Charset
    默认编码
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    cd(String directory)
    打开指定目录,具体逻辑取决于实现,例如在FTP中,进入失败返回false, SFTP中则抛出异常
    boolean
    delDir(String dirPath)
    删除文件夹及其文件夹下的所有文件
    boolean
    删除指定目录下的指定文件
    void
    download(String path, File outFile)
    下载文件
    boolean
    exist(String path)
    文件或目录是否存在 提供路径为空则返回false 提供路径非目录但是以'/'或'\'结尾返回false 文件名是'.'
    获取FTP配置
    读取FTP服务器上的文件为输入流
    default boolean
    判断给定路径是否为目录
    ls(String path)
    遍历某个目录下所有文件和目录,不会递归遍历
    boolean
    在当前远程目录(工作目录)下创建新的目录
    void
    创建指定文件夹及其父目录,从根目录开始创建,创建完成后回到默认的工作目录
    pwd()
    远程当前目录(工作目录)
    如果连接超时的话,重新进行连接
    void
    recursiveDownloadFolder(String sourcePath, File destDir)
    递归下载FTP服务器上文件到本地(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件
    default boolean
    打开上级目录
    boolean
    uploadFile(String destPath, File file)
    将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与file文件名相同。

    Methods inherited from interface java.io.Closeable

    close
  • Field Details

    • DEFAULT_CHARSET

      static final Charset DEFAULT_CHARSET
      默认编码
  • Method Details

    • getConfig

      FtpConfig getConfig()
      获取FTP配置
      Returns:
      FTP配置
    • reconnectIfTimeout

      Ftp reconnectIfTimeout()
      如果连接超时的话,重新进行连接
      Returns:
      this
    • pwd

      String pwd()
      远程当前目录(工作目录)
      Returns:
      远程当前目录
    • cd

      boolean cd(String directory)
      打开指定目录,具体逻辑取决于实现,例如在FTP中,进入失败返回false, SFTP中则抛出异常
      Parameters:
      directory - directory
      Returns:
      是否打开目录
    • toParent

      default boolean toParent()
      打开上级目录
      Returns:
      是否打开目录
    • exist

      boolean exist(String path)
      文件或目录是否存在
      • 提供路径为空则返回false
      • 提供路径非目录但是以'/'或'\'结尾返回false
      • 文件名是'.'或者'..'返回false
      Parameters:
      path - 目录
      Returns:
      是否存在
    • isDir

      default boolean isDir(String dir)
      判断给定路径是否为目录
      Parameters:
      dir - 被判断的路径
      Returns:
      是否为目录
    • mkdir

      boolean mkdir(String dir)
      在当前远程目录(工作目录)下创建新的目录
      Parameters:
      dir - 目录名
      Returns:
      是否创建成功
    • mkDirs

      void mkDirs(String dir)
      创建指定文件夹及其父目录,从根目录开始创建,创建完成后回到默认的工作目录
      Parameters:
      dir - 文件夹路径,绝对路径
    • ls

      List<String> ls(String path)
      遍历某个目录下所有文件和目录,不会递归遍历
      Parameters:
      path - 需要遍历的目录
      Returns:
      文件和目录列表
    • delFile

      boolean delFile(String path)
      删除指定目录下的指定文件
      Parameters:
      path - 目录路径
      Returns:
      是否存在
    • delDir

      boolean delDir(String dirPath)
      删除文件夹及其文件夹下的所有文件
      Parameters:
      dirPath - 文件夹路径
      Returns:
      boolean 是否删除成功
    • uploadFile

      boolean uploadFile(String destPath, File file)
      将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与file文件名相同。 覆盖模式
      Parameters:
      destPath - 服务端路径,可以为null 或者相对路径或绝对路径
      file - 需要上传的文件
      Returns:
      是否成功
    • download

      void download(String path, File outFile)
      下载文件
      Parameters:
      path - 文件路径
      outFile - 输出文件或目录
    • recursiveDownloadFolder

      void recursiveDownloadFolder(String sourcePath, File destDir)
      递归下载FTP服务器上文件到本地(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件
      Parameters:
      sourcePath - ftp服务器目录
      destDir - 本地目录
    • getFileStream

      InputStream getFileStream(String path)
      读取FTP服务器上的文件为输入流
      Parameters:
      path - 文件路径
      Returns:
      InputStream