`
messon619
  • 浏览: 46012 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java sftp tools

阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.Properties;
import java.util.Vector;

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
import com.jcraft.jsch.ChannelSftp.LsEntry;

public class Sftp {
public ChannelSftp connect(String host, int port, String username,
String password) {
ChannelSftp sftp = null;
JSch jsch = new JSch();
try {
Session session = jsch.getSession(username, host, port);
session.setPassword(password);
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
sftp = (ChannelSftp) channel;
} catch (JSchException e) {
e.printStackTrace();
}
return sftp;
}

public void downLoadFolder(String sftpdirectory, String localdirectory,
ChannelSftp sftp) throws FileNotFoundException {
try {
Vector vector = sftp.ls(sftpdirectory);
Iterator it = vector.iterator();
while (it.hasNext()) {
LsEntry ls = (LsEntry) it.next();
sftp.cd(sftpdirectory);
new File(localdirectory);
File file = new File(localdirectory + "\\" + ls.getFilename());
if (!file.isDirectory()) {
sftp.get(ls.getFilename(), new FileOutputStream(file));
}
}
} catch (SftpException e) {
e.printStackTrace();
}
}

public void upload(String sftpdirectory, String uploadFile, ChannelSftp sftp) {
try {
sftp.cd(sftpdirectory);
File file = new File(uploadFile);
sftp.put(new FileInputStream(file), file.getName());
} catch (Exception e) {
e.printStackTrace();
}
}

public void disconnect(ChannelSftp sftp) {
if (sftp.isConnected()) {
try {
sftp.disconnect();
sftp.getSession().disconnect();
sftp.exit();
} catch (JSchException e) {
e.printStackTrace();
}

}
}

}
分享到:
评论

相关推荐

    ssh library for java

    3. **文件传输**:利用SFTP(SSH File Transfer Protocol)协议,可以在本地和远程主机之间安全地传输文件。 4. **端口转发**:支持本地和远程端口转发,可以安全地穿透防火墙,使内部网络服务对外可见。 5. **隧道...

    Open Ftp SSH Tools

    'Imports Tamir.SharpSsh.java 'Imports Tamir.SharpSsh Imports SharpSSH_EXD Public Class SFTPHelper Private Sub New() End Sub Private m_sshCp As SshTransferProtocolBase Public ReadOnly Property...

    虚拟机LInux安装配置jdk

    1. 使用VMware Tools:这是一款增强虚拟机与主机之间交互的工具,支持文件直接拖拽。如果你遇到问题,可以参照此链接解决:https://blog.csdn.net/qq_63083501/article/details/125864965。 2. 使用WinSCP:这是一...

    使用jsch中的ChannelSftp上传文件和文件夹[参考].pdf

    * SFTP 协议文档:<https://tools.ietf.org/html/rfc4253> ### 结语 使用 ChannelSftp 上传文件和文件夹非常简单,只需要创建一个 SFTPUtil 对象,使用 put 方法上传文件或文件夹。JSCH 库提供了一个灵活的架构,...

    editplus txt edit tools

    5. **FTP/SFTP支持**:EditPlus内置FTP和SFTP客户端,可以直接编辑远程服务器上的文件,实现远程开发。 6. **项目管理**:用户可以创建和管理项目,方便组织和管理多个相关的文件。 7. **自定义配置**:EditPlus...

    积分兑换系统java源码-maverick-synergy:下一代JavaSSHAPI

    SSHTOOLS Limited)开发的第三代 Java SSH API。 它是 SSH2 协议的纯 Java 实现,使您能够在开源和商业友好的 LGPL 许可下创建客户端和服务器解决方案。 第三代 API 建立在 Java NIO 框架之上,首次为开发客户端和...

    EmbeddedTools:对基于模型的DSL的补充,用于将Java和Native项目部署到远程目标

    嵌入式工具在Java和C ++中为嵌入式目标进行编译和部署。 EmbeddedTools添加了编译器和库规则,使编写本机软件更加容易。 对于所有项目,您可以定义部署目标和工件。 部署过程可以通过SSH / SFTP进行,并且速度非常快...

    crypto-tools:我写的一些加密工具

    6. **密码学应用**:可能包括实现 HTTPS、SFTP、PGP 等协议的简单版本,或者自定义加密解密脚本,用于数据的本地加密存储。 7. **加密库的使用**:Python 有许多成熟的加密库,如 `cryptography`、`pycryptodome` ...

    j2ssh-core-0.2.2.jar

    SSHTools是一组Java SSH应用程序。包括:Java SSH API, SSH Terminal, SSH secured VNC客户端, SFTP客户端和SSH Daemon。ESftp是根据此项目开发的一个Eclipse插件主要用来在Eclipse开发平台与Sftp服务器之间传输文件...

    EditPlus - text editor for Windows

    Syntax highlighting for HTML, PHP, Java, C/C++, CSS, ASP, Perl, JavaScript, VBScript, Python and Ruby on Rails. Also, it can be extended for other programming languages based on custom syntax files. ...

    EditPlus安装工具

    在“Tools”菜单下选择“Preferences”,然后找到“JAVA”选项,填入JDK的`bin`目录。 - **创建JAVA项目**:新建一个文件夹作为项目目录,然后在EditPlus中打开这个文件夹,创建新的JAVA源代码文件。 - **编译JAVA...

    npp.7.5.8.Installer.x64.zip

    例如,安装NPPFTP可以实现FTP/SFTP连接,方便远程文件编辑;安装XML Tools可以增强XML文件的处理能力;安装Compare则可以进行文件差异比较。插件管理器位于“插件”菜单下,可以根据需要选择并安装。 最后,为了更...

    jsch-0.1.41.jar

    8. **tools**:可能包含一些辅助工具或脚本,用于辅助开发或测试。 **学习与使用** 要使用JSCH库,开发者需要理解其API设计,如`Session`、`Channel`、`JSch`等核心类的用法。通过阅读源码和官方文档,可以更深入...

    EditPlus3EditPlus3

    - **FTP/SFTP客户端集成**:内置FTP和SFTP客户端,可以直接编辑并上传远程文件,简化了开发过程。 - **自定义配置**:用户可以根据个人喜好和需求定制编辑器的主题、快捷键和工具栏,打造个性化的开发环境。 2. *...

    通用软件和工具清单.docx

    其中,chinaskills_cloud_tools.iso是一个集成镜像包,涵盖了所有列出的软件,便于选手快速搭建比赛所需的环境。 1. **MySQL**:MySQL是一款开源的关系型数据库管理系统,提供了数据库的安装包。在云计算环境中,...

    在linux下安装jdk、tomcat的方法步骤,及常用命令

    - `CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar` - `PATH=$JAVA_HOME/bin:$PATH` - 使环境变量生效: - 永久生效:重启Linux系统。 - 临时生效:在终端中执行`source /etc/profile`或简写为`....

    用kettle设计ftp上传操作手册

    %JAVA_HOME%\lib\tools.jar。 ④ 检验是否配置成功,运行 cmd 输入 java -version,若显示版本信息,则说明安装和配置成功。 三、Kettle 运行 Kettle 是一款开源的开发工具,可以直接在 ...

    cyberduck:Cyber​​duck是适用于Mac和Windows的FTP,SFTP,WebDAV,Amazon S3,Backblaze B2,Microsoft Azure和OneDrive和OpenStack Swift文件传输客户端

    Oracle Java 1.8.0 SDK或更高版本 Apache Ant 1.10.1或更高版本 Apache Maven 3.5或更高版本 苹果系统 或更高版本 视窗 Visual Studio 2017或更高版本 .NET Desktop development工作量 Windows SDK(10.0.14393.0) ...

    Useful-Softwares-Tools-list:有用的软件,工具,插件,实用程序列表(OnlineOffline)

    联机工具,如美化工具,编辑器,查看器,缩小器,验证器,开发人员转换器:XML,JSON,CSS,JavaScript,Java,C#,MXML,SQL,CSV,Excel。 工具包括多个格式化程序,验证器,代码缩小器,字符串转义符,编码器和...

Global site tag (gtag.js) - Google Analytics