首页 > Java > java教程 > 如何使用 JSch 在 Java 中通过 SFTP 检索文件?

如何使用 JSch 在 Java 中通过 SFTP 检索文件?

Patricia Arquette
发布: 2024-12-14 12:31:10
原创
355 人浏览过

How Can I Retrieve Files via SFTP in Java Using JSch?

在 Java 中通过 SFTP 检索文件

当使用 SFTP 而不是 FTPS 从远程服务器检索文件时,Java 开发人员面临着独特的挑战。一种方法是探索 JSch 库,这是 Eclipse、Ant 和 Apache Commons HttpClient 等知名开源项目广泛采用的选择。

JSch 无缝地适应用户名/密码和基于证书的登录,提供全面的 SSH2 功能。下面,我们展示了使用 JSch 通过 SFTP 检索文件的基本示例:

JSch jsch = new JSch();

String knownHostsFilename = "/home/username/.ssh/known_hosts";
jsch.setKnownHosts( knownHostsFilename );

Session session = jsch.getSession( "remote-username", "remote-host" );    
{
  // "interactive" version
  // can selectively update specified known_hosts file 
  // need to implement UserInfo interface
  // MyUserInfo is a swing implementation provided in 
  //  examples/Sftp.java in the JSch dist
  UserInfo ui = new MyUserInfo();
  session.setUserInfo(ui);

  // OR non-interactive version. Relies in host key being in known-hosts file
  session.setPassword( "remote-password" );
}

session.connect();

Channel channel = session.openChannel( "sftp" );
channel.connect();

ChannelSftp sftpChannel = (ChannelSftp) channel;

sftpChannel.get("remote-file", "local-file" );
// OR
InputStream in = sftpChannel.get( "remote-file" );
  // process inputstream as needed

sftpChannel.exit();
session.disconnect();
登录后复制

以上是如何使用 JSch 在 Java 中通过 SFTP 检索文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板