Class SshjSftp
java.lang.Object
org.miaixz.bus.extra.ftp.AbstractFtp
org.miaixz.bus.extra.ssh.provider.sshj.SshjSftp
- All Implemented Interfaces:
Closeable,AutoCloseable,Ftp
在使用jsch 进行sftp协议下载文件时,总是中文乱码,而该框架源码又不允许设置编码。故:站在巨人的肩膀上,此类便孕育而出。
基于sshj 框架适配。 参考:https://github.com/hierynomus/sshj
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields inherited from class org.miaixz.bus.extra.ftp.AbstractFtp
ftpConfigFields inherited from interface org.miaixz.bus.extra.ftp.Ftp
DEFAULT_CHARSET -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean打开指定目录,具体逻辑取决于实现,例如在FTP中,进入失败返回false, SFTP中则抛出异常voidclose()执行Linux 命令booleancontainsFile(String fileDir) 是否包含该文件boolean删除文件夹及其文件夹下的所有文件boolean删除指定目录下的指定文件void下载文件getFileStream(String path) 读取远程文件输入流voidinit()SSH 初始化并创建一个sftp客户端遍历某个目录下所有文件和目录,不会递归遍历boolean在当前远程目录(工作目录)下创建新的目录static SshjSftp构造static SshjSftp构造static SshjSftp构造pwd()远程当前目录(工作目录)如果连接超时的话,重新进行连接voidrecursiveDownloadFolder(String sourcePath, File destDir) 递归下载FTP服务器上文件到本地(文件目录和服务器同步), 服务器上有新文件会覆盖本地文件booleanuploadFile(String destPath, File file) 将本地文件上传到目标服务器,目标文件名为destPath,若destPath为目录,则目标文件名将与file文件名相同。Methods inherited from class org.miaixz.bus.extra.ftp.AbstractFtp
download, exist, getConfig, mkDirs
-
Constructor Details
-
SshjSftp
-
SshjSftp
构造- Parameters:
sshClient-SSHClientcharset- 编码
-
-
Method Details
-
of
-
of
-
of
-
init
public void init()SSH 初始化并创建一个sftp客户端 -
reconnectIfTimeout
-
cd
-
pwd
-
mkdir
-
ls
-
delFile
-
delDir
-
uploadFile
-
download
-
recursiveDownloadFolder
-
getFileStream
读取远程文件输入流- Parameters:
path- 远程文件路径- Returns:
InputStream
-
close
public void close() -
containsFile
是否包含该文件- Parameters:
fileDir- 文件绝对路径- Returns:
- true:包含 false:不包含
-
command
-