Class AbstractFtp

java.lang.Object
org.aoju.bus.extra.ftp.AbstractFtp
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
Ftp, Sftp, SshjSftp

public abstract class AbstractFtp extends Object implements Closeable
抽象FTP类,用于定义通用的FTP方法
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Charset
     
    protected FtpConfig
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    构造
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract boolean
    cd(String directory)
    打开指定目录
    abstract boolean
    delDir(String dirPath)
    删除文件夹及其文件夹下的所有文件
    abstract boolean
    删除指定目录下的指定文件
    abstract void
    download(String path, File outFile)
    下载文件
    void
    download(String path, File outFile, String tempFileSuffix)
    下载文件-避免未完成的文件 此方法原理是先在目标文件同级目录下创建临时文件,等下载完毕后重命名,避免因下载错误导致的文件不完整。
    abstract void
    download(String sourcePath, String destPath)
    获取远程文件(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件
    boolean
    exist(String path)
    文件或目录是否存在
    boolean
    判断给定路径是否为目录
    abstract List<String>
    ls(String path)
    遍历某个目录下所有文件和目录,不会递归遍历
    abstract boolean
    在当前远程目录(工作目录)下创建新的目录
    void
    创建指定文件夹及其父目录,从根目录开始创建,创建完成后回到默认的工作目录
    abstract String
    pwd()
    远程当前目录(工作目录)
    abstract AbstractFtp
    如果连接超时的话,重新进行连接
    boolean
    打开上级目录
    abstract boolean
    upload(String srcFilePath, File destFile)
    将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与srcFilePath文件名相同 覆盖模式

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.io.Closeable

    close
  • Field Details

    • DEFAULT_CHARSET

      public static final Charset DEFAULT_CHARSET
    • ftpConfig

      protected FtpConfig ftpConfig
  • Constructor Details

    • AbstractFtp

      protected AbstractFtp(FtpConfig config)
      构造
      Parameters:
      config - FTP配置
  • Method Details

    • reconnectIfTimeout

      public abstract AbstractFtp reconnectIfTimeout()
      如果连接超时的话,重新进行连接
      Returns:
      this
    • cd

      public abstract boolean cd(String directory)
      打开指定目录
      Parameters:
      directory - directory
      Returns:
      是否打开目录
    • toParent

      public boolean toParent()
      打开上级目录
      Returns:
      是否打开目录
    • pwd

      public abstract String pwd()
      远程当前目录(工作目录)
      Returns:
      远程当前目录
    • mkdir

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

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

      public boolean exist(String path)
      文件或目录是否存在
      Parameters:
      path - 目录
      Returns:
      是否存在
    • ls

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

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

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

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

      public abstract boolean upload(String srcFilePath, File destFile)
      将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与srcFilePath文件名相同 覆盖模式
      Parameters:
      srcFilePath - 本地文件路径
      destFile - 目标文件
      Returns:
      是否成功
    • download

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

      public abstract void download(String sourcePath, String destPath)
      获取远程文件(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件
      Parameters:
      sourcePath - 服务器目录
      destPath - 本地目录
    • download

      public void download(String path, File outFile, String tempFileSuffix)
      下载文件-避免未完成的文件 此方法原理是先在目标文件同级目录下创建临时文件,等下载完毕后重命名,避免因下载错误导致的文件不完整。
      Parameters:
      path - 文件路径
      outFile - 输出文件或目录
      tempFileSuffix - 临时文件后缀,默认".temp"