Package org.aoju.bus.extra.ssh
Class SshjSftp
java.lang.Object
org.aoju.bus.extra.ftp.AbstractFtp
org.aoju.bus.extra.ssh.SshjSftp
- All Implemented Interfaces:
Closeable,AutoCloseable
在使用jsch 进行sftp协议下载文件时,总是中文乱码,而该框架源码又不允许设置编码
此类基于sshj 框架适配 参考:https://github.com/hierynomus/sshj
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields inherited from class org.aoju.bus.extra.ftp.AbstractFtp
DEFAULT_CHARSET, ftpConfig -
Constructor Summary
ConstructorsModifierConstructorDescription构造,使用默认端口构造构造构造protected构造 -
Method Summary
Modifier and TypeMethodDescriptionboolean打开指定目录voidclose()执行Linux 命令booleancontainsFile(String fileDir) 是否包含该文件boolean删除文件夹及其文件夹下的所有文件boolean删除指定目录下的指定文件void下载文件void获取远程文件(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件voidinit()SSH 初始化并创建一个sftp客户端遍历某个目录下所有文件和目录,不会递归遍历boolean在当前远程目录(工作目录)下创建新的目录pwd()远程当前目录(工作目录)如果连接超时的话,重新进行连接boolean将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与srcFilePath文件名相同 覆盖模式
-
Constructor Details
-
SshjSftp
构造,使用默认端口- Parameters:
sshHost- 主机
-
SshjSftp
构造- Parameters:
sshHost- 主机sshUser- 用户名sshPass- 密码
-
SshjSftp
构造- Parameters:
sshHost- 主机sshPort- 端口sshUser- 用户名sshPass- 密码
-
SshjSftp
构造- Parameters:
sshHost- 主机sshPort- 端口sshUser- 用户名sshPass- 密码charset- 编码
-
SshjSftp
构造- Parameters:
config- FTP配置
-
-
Method Details
-
init
public void init()SSH 初始化并创建一个sftp客户端 -
reconnectIfTimeout
Description copied from class:AbstractFtp如果连接超时的话,重新进行连接- Specified by:
reconnectIfTimeoutin classAbstractFtp- Returns:
- this
-
cd
Description copied from class:AbstractFtp打开指定目录- Specified by:
cdin classAbstractFtp- Parameters:
directory- directory- Returns:
- 是否打开目录
-
pwd
Description copied from class:AbstractFtp远程当前目录(工作目录)- Specified by:
pwdin classAbstractFtp- Returns:
- 远程当前目录
-
mkdir
Description copied from class:AbstractFtp在当前远程目录(工作目录)下创建新的目录- Specified by:
mkdirin classAbstractFtp- Parameters:
dir- 目录名- Returns:
- 是否创建成功
-
ls
Description copied from class:AbstractFtp遍历某个目录下所有文件和目录,不会递归遍历- Specified by:
lsin classAbstractFtp- Parameters:
path- 需要遍历的目录- Returns:
- 文件和目录列表
-
delFile
Description copied from class:AbstractFtp删除指定目录下的指定文件- Specified by:
delFilein classAbstractFtp- Parameters:
path- 目录路径- Returns:
- 是否存在
-
delDir
Description copied from class:AbstractFtp删除文件夹及其文件夹下的所有文件- Specified by:
delDirin classAbstractFtp- Parameters:
dirPath- 文件夹路径- Returns:
- boolean 是否删除成功
-
upload
Description copied from class:AbstractFtp将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与srcFilePath文件名相同 覆盖模式- Specified by:
uploadin classAbstractFtp- Parameters:
destPath- 本地文件路径file- 目标文件- Returns:
- 是否成功
-
download
Description copied from class:AbstractFtp下载文件- Specified by:
downloadin classAbstractFtp- Parameters:
path- 文件路径dest- 输出文件或目录
-
download
Description copied from class:AbstractFtp获取远程文件(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件- Specified by:
downloadin classAbstractFtp- Parameters:
source- 服务器目录dest- 本地目录
-
close
public void close() -
containsFile
是否包含该文件- Parameters:
fileDir- 文件绝对路径- Returns:
- true:包含 false:不包含
-
command
执行Linux 命令- Parameters:
exec- 命令- Returns:
- 返回响应结果
-