`
liu_jiaqiang
  • 浏览: 20689 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA实现SFTP的实例:

    博客分类:
  • java
 
阅读更多
最近写的一个JAVA实现SFTP的实例:

/*
* Created on 2009-9-14
* Copyright 2009 by www.xfok.net. All Rights Reserved
*
*/

package net.xfok.ftp;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
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.Session;
import com.jcraft.jsch.SftpException;

/**
* @author YangHua
* 转载请注明出处:http://www.xfok.net/2009/10/124485.html
*/
public class MySFTP {

/**
* 连接sftp服务器
* @param host 主机
* @param port 端口
* @param username 用户名
* @param password 密码
* @return
*/
public ChannelSftp connect(String host, int port, String username,
String password) {
ChannelSftp sftp = null;
try {
JSch jsch = new JSch();
jsch.getSession(username, host, port);
Session sshSession = jsch.getSession(username, host, port);
System.out.println("Session created.");
sshSession.setPassword(password);
Properties sshConfig = new Properties();
sshConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sshConfig);
sshSession.connect();
System.out.println("Session connected.");
System.out.println("Opening Channel.");
Channel channel = sshSession.openChannel("sftp");
channel.connect();
sftp = (ChannelSftp) channel;
System.out.println("Connected to " + host + ".");
} catch (Exception e) {

}
return sftp;
}

/**
* 上传文件
* @param directory 上传的目录
* @param uploadFile 要上传的文件
* @param sftp
*/
public void upload(String directory, String uploadFile, ChannelSftp sftp) {
try {
sftp.cd(directory);
File file=new File(uploadFile);
sftp.put(new FileInputStream(file), file.getName());
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 下载文件
* @param directory 下载目录
* @param downloadFile 下载的文件
* @param saveFile 存在本地的路径
* @param sftp
*/
public void download(String directory, String downloadFile,String saveFile, ChannelSftp sftp) {
try {
sftp.cd(directory);
File file=new File(saveFile);
sftp.get(downloadFile, new FileOutputStream(file));
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 删除文件
* @param directory 要删除文件所在目录
* @param deleteFile 要删除的文件
* @param sftp
*/
public void delete(String directory, String deleteFile, ChannelSftp sftp) {
try {
sftp.cd(directory);
sftp.rm(deleteFile);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 列出目录下的文件
* @param directory 要列出的目录
* @param sftp
* @return
* @throws SftpException
*/
public Vector listFiles(String directory, ChannelSftp sftp) throws SftpException{
return sftp.ls(directory);
}

public static void main(String[] args) {
MySFTP sf = new MySFTP();
String host = "192.168.0.1";
int port = 22;
String username = "root";
String password = "root";
String directory = "/home/httpd/test/";
String uploadFile = "D:\\tmp\\upload.txt";
String downloadFile = "upload.txt";
String saveFile = "D:\\tmp\\download.txt";
String deleteFile = "delete.txt";
ChannelSftp sftp=sf.connect(host, port, username, password);
sf.upload(directory, uploadFile, sftp);
sf.download(directory, downloadFile, saveFile, sftp);
sf.delete(directory, deleteFile, sftp);
try{
sftp.cd(directory);
sftp.mkdir("ss");
System.out.println("finished");
}catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
评论

相关推荐

    java sftp文件上传

    Java SFTP文件上传是通过Java编程语言实现与Secure File Transfer Protocol(SFTP)服务器进行交互,将本地文件安全地传输到远程服务器的过程。SFTP是一种基于SSH的安全文件传输协议,它提供了在不安全网络上安全...

    JAVA实现SFTP实例.txt

    资源内容:Java实现Sftp中文件的操作,如目录或文件创建及删除,拉取文件,上传文件。可以直接拿来使用。

    JAVA实现SFTP上传,下载,删除等方法

    在Java编程中,实现Secure File Transfer Protocol (SFTP) 功能是常见的需求,尤其是在处理远程文件操作时。本文将详细讲解如何使用开源库JSch来实现在Java中进行SFTP的上传、下载以及删除文件的方法。 JSch是一个...

    JAVA网络安全实现SFTP实例MySFTP.java

    JAVA网络安全实现SFTP实例MySFTP

    JAVA SFTP文件上传、下载及批量下载实例

    在本篇文章中,我们将详细介绍JAVA SFTP文件上传、下载及批量下载的实例,包括相关的概念、API介绍、代码实现等方面的内容。 首先,我们需要了解什么是SFTP?SFTP(Secure File Transfer Protocol)是一种安全的...

    java实现sftp客户端上传文件以及文件夹的功能

    Java实现SFTP(Secure File Transfer Protocol)客户端上传文件和文件夹是一项常见的任务,尤其是在系统集成或者数据迁移场景中。下面将详细介绍如何通过Java实现这一功能,主要涉及的技术点包括SFTP协议、JSch库的...

    基于Java的实例源码-用Java写的SFTP代码.zip

    本实例源码是基于Java实现的SFTP客户端,用于连接到支持SFTP的服务器并执行文件操作,如上传、下载和管理文件。 Java作为一种广泛使用的编程语言,拥有丰富的库和工具支持各种网络通信,包括SFTP。在Java中实现SFTP...

    java操作sftp的工具类(JSch)

    JSch是一个纯Java实现的SSH2库,允许开发人员连接到支持SFTP的服务器,进行文件的上传、下载以及执行其他相关操作。本文将详细介绍如何使用JSch进行SFTP操作,并提供一个简单的`SftpUtil`工具类示例。 首先,我们...

    JSch - Java实现的SFTP(文件上传详解篇)

    JSch - Java 实现的 SFTP(文件上传详解篇) JSch 是 Java Secure Channel 的缩写,JSch 是一个 SSH2 的纯 Java 实现。JSch 允许您连接到一个 SSH 服务器,并且可以使用端口转发、X11 转发、文件传输等,当然您也...

    java 开发sftp下载上传

    Java作为一种广泛应用的编程语言,提供了丰富的库和工具来实现SFTP功能。本篇文章将深入探讨如何使用Java进行SFTP的文件上传与下载操作。 首先,为了在Java中实现SFTP,我们需要一个支持SFTP的库,例如JSch(Java ...

    java版SFTP实现示例(使用jsch)

    在这个示例中,我们将探讨如何使用Java通过JSch库实现SFTP功能。 JSch是一个纯Java实现的SSH2库,它允许Java应用程序连接到支持SSH协议的服务器,执行SFTP操作。`jsch-0.1.43.jar`是JSch库的JAR文件,包含所有必要...

    java实现导出csv文件并上传sftp

    本篇文章将深入探讨如何使用Java实现CSV文件的生成,并将其通过SFTP(Secure File Transfer Protocol)协议上传到指定服务器。 首先,我们要介绍的是用于生成CSV文件的库:univocity-parsers。这是一个高效、灵活且...

    用java写的SFTP代码.rar

    JCraft的JSch库是Java中广泛使用的SFTP实现库,它提供了SSH2协议的完整实现,包括SFTP。因此,你需要先下载并引入JSch库到你的项目中。 1. 引入JSch库: 在Maven项目中,可以在pom.xml文件中添加以下依赖: ```...

    JAVA通过SFTP实现远程上传下载demo代码

    本文将详细介绍如何使用Java通过SFTP实现远程文件的上传和下载,并提供一个简单的示例代码。 首先,为了实现SFTP功能,我们需要一个第三方库,如JSch(Java Secure Channel)。JSch是一个纯Java实现的SSH2库,它...

    jsch.jar及实现代码 SftpUtil.java java使用sftp实现上传下载文件

    在这个场景中,我们将详细讨论如何使用`jsch.jar`库以及提供的`SftpUtil.java`工具类来实现在Java中执行SFTP任务。 首先,`jsch.jar`是Java Secure Channel的缩写,这是一个由JCraft公司开发的开源项目。它提供了对...

    java源码:用java写的SFTP代码.rar

    本压缩包"java源码:用java写的SFTP代码.rar"包含了使用Java实现SFTP(Secure File Transfer Protocol)功能的源代码,这对于理解如何在Java中进行安全文件传输是非常有价值的。 SFTP是一种基于SSH的安全文件传输...

    java SFTP上传所需jar和秘钥工具

    1. **JSch (Java Secure Channel)**: JSch 是一个纯Java实现的SSH2库,它允许用户执行SFTP(Secure File Transfer Protocol)操作。SFTP是基于SSH协议的文件传输协议,提供了安全的文件传输能力。JSch-0.1.54.jar是...

    java实现ftp、sftp的文件上传和下载

    这篇内容将详细介绍如何使用Java实现FTP和SFTP的文件上传与下载,并涉及相关的Apache库。 FTP是一种基于TCP的服务,主要用于在互联网上进行文件传输。Java中可以使用Apache Commons Net库来实现FTP操作。首先,需要...

    用java写的SFTP代码源码下载

    本文将深入探讨如何使用Java实现SFTP功能,以及提供的源码下载。 Java作为一种广泛使用的编程语言,拥有丰富的库来支持各种网络协议,包括SFTP。在Java中实现SFTP,我们通常会使用JSch库,这是一个开源的Java SSH2...

    JAVA SFTP上传和下载所需JAR和源码

    本资源包含实现JAVA SFTP上传和下载功能所需的JAR文件和源码,这对于开发者来说是非常有价值的。 首先,我们需要了解Java中实现SFTP的主要库:JSch(Java Secure Channel)。JSch是一个开源库,它实现了SSH2协议,...

Global site tag (gtag.js) - Google Analytics