java如何使用sftp上传和下载文件

Love The Way You Lie 2022-11-27 07:19 329阅读 0赞

maven配置

  1. <dependency>
  2. <groupId>com.jcraft</groupId>
  3. <artifactId>jsch</artifactId>
  4. <version>0.1.55</version>
  5. </dependency>

Download File

  1. import com.jcraft.jsch.Channel;
  2. import com.jcraft.jsch.ChannelSftp;
  3. import com.jcraft.jsch.JSch;
  4. import com.jcraft.jsch.JSchException;
  5. import com.jcraft.jsch.Session;
  6. import com.jcraft.jsch.SftpException;
  7. /** * * @author javagists.com * */
  8. public class DownloadFileSFTP {
  9. public static void main(String[] args) throws Exception {
  10. JSch jsch = new JSch();
  11. Session session = null;
  12. try {
  13. session = jsch.getSession("admin", "127.0.0.1", 22);
  14. session.setConfig("StrictHostKeyChecking", "no");
  15. session.setPassword("pass");
  16. session.connect();
  17. Channel channel = session.openChannel("sftp");
  18. channel.connect();
  19. ChannelSftp sftpChannel = (ChannelSftp) channel;
  20. sftpChannel.get("/tmpremote/testDownload.txt", "/tmplocal/testDownload.txt");
  21. sftpChannel.exit();
  22. session.disconnect();
  23. } catch (JSchException e) {
  24. e.printStackTrace();
  25. } catch (SftpException e) {
  26. e.printStackTrace();
  27. }
  28. }
  29. }

Upload File

  1. import com.jcraft.jsch.Channel;
  2. import com.jcraft.jsch.ChannelSftp;
  3. import com.jcraft.jsch.JSch;
  4. import com.jcraft.jsch.JSchException;
  5. import com.jcraft.jsch.Session;
  6. import com.jcraft.jsch.SftpException;
  7. /** * * @author javagists.com * */
  8. public class UploadFileSFTP {
  9. public static void main(String[] args) throws Exception {
  10. JSch jsch = new JSch();
  11. Session session = null;
  12. try {
  13. session = jsch.getSession("admin", "127.0.0.1", 22);
  14. session.setConfig("StrictHostKeyChecking", "no");
  15. session.setPassword("pass");
  16. session.connect();
  17. Channel channel = session.openChannel("sftp");
  18. channel.connect();
  19. ChannelSftp sftpChannel = (ChannelSftp) channel;
  20. sftpChannel.put("/tmplocal/testUpload.txt", "/tmpremote/testUpload.txt");
  21. sftpChannel.exit();
  22. session.disconnect();
  23. } catch (JSchException e) {
  24. e.printStackTrace();
  25. } catch (SftpException e) {
  26. e.printStackTrace();
  27. }
  28. }
  29. }

参考文献:
How to download and Upload a file through SFTP using java.: https://www.javagists.com/how-to-download-and-upload-a-file-through-sftp-using-java

Transferring a File Through SFTP in Java: https://www.baeldung.com/java-file-sftp

发表评论

表情:
评论列表 (有 0 条评论,329人围观)

还没有评论,来说两句吧...

相关阅读

    相关 sftp下载

    """使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能""" \ 根据输入参数判断是文件还是目录,进行上传和下载 \ 本地参数local需要与远程参数

    相关 SFTP文件下载

    一、文件上传 说明1:所谓上传window上的文件上传到linux上 说明2:上传的文件会自动放到当前的用户的家目录 1:打开SFTP的窗口 Alt+p ![1297