jsch 深入浅出(二)

标签: jsch | 发表时间:2012-04-26 14:19 | 作者:
出处:http://www.iteye.com

 

在上面一个帖子里就简单介绍了如何基于jsch实现ssh.

下面就简单介绍一下如何实现FTP的功能通过JSCH.

public class JftpHandler extends JschHandler {
	private static final Logger log = LoggerFactory
			.getLogger(JftpHandler.class);

	private ChannelSftp sftp = null;

	public JftpHandler(String username, String host, int port, String identity) {
		super(username, host, port, identity);
	}

	public JftpHandler(String username, String host, int port, UserInfo userInfo) {
		super(username, host, port, userInfo);
	}

	@Override
	public void init() throws JSchException {
		super.init();
		sftp = (ChannelSftp) session.openChannel(SFTP_PROTOCAL);//sftp
		sftp.connect();
		log.info("Jftp connection success.");
	}

	@Override
	public void destory() {
		if (sftp != null) {
			sftp.quit();
			sftp.disconnect();
		}
		super.destory();

		log.info("Jftp destory success.");
	}

	public void cd(String path) throws SftpException {
		sftp.cd(path);
	}

	public void lcd(String path) throws SftpException {
		sftp.lcd(path);
	}

	public String lpwd() {
		return sftp.lpwd();
	}

	public String pwd() throws SftpException {
		return sftp.pwd();
	}

	public void mkdir(String path) throws SftpException {
		sftp.mkdir(path);
	}

	public void rm(String path) throws SftpException {
		sftp.rm(path);
	}

	public void quit() {
		sftp.quit();
	}

	public void rmdir(String path) throws SftpException {
		sftp.rmdir(path);
	}

	public void exit() {
		sftp.exit();
	}

	public void put(String src, String dst, int mode) throws SftpException {
		sftp.put(src, dst, mode);
	}

	public void put(String src, String dst) throws SftpException {
		put(src, dst, 0);
	}

	public void put(String dst) throws SftpException {
		put(dst, ".");
	}

	public void get(String src, String dst) throws SftpException {
		sftp.get(src, dst);
	}

	public void get(String src) throws SftpException {
		get(src, ".");
	}

	/**
	 * Changes the permissions of one or several remote files.
	 * 
	 * @param permissions
	 * @param path
	 * @throws SftpException
	 */
	public void chmod(int permissions, String path) throws SftpException {
		sftp.chmod(permissions, path);
	}

	/**
	 * @returns the protocol version number supported by this client
	 */
	public String version() {
		return sftp.version();
	}

}
  上面的代码只是对JSCH的简单包装,也是对JSCH的抛砖引玉。希望对大家有点用处。。。

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [jsch] 推荐:

Jsch 深入浅出

- - ITeye博客
如果大家熟悉Linux的话,一定对ssh,sftp,scp等命令非常熟悉. ssh是一个安全协议,用来在不同系统或者服务器之间进行安全连接. ssh 在连接和传送的过程中会加密所有的数据. 具体的解释,大家可以参考百度百科的文档. 地址为:http://baike.baidu.com/view/16184.htm.

jsch 深入浅出(二)

- - ITeye博客
在上面一个帖子里就简单介绍了如何基于jsch实现ssh.. 下面就简单介绍一下如何实现FTP的功能通过JSCH..   上面的代码只是对JSCH的简单包装,也是对JSCH的抛砖引玉. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

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

- - 编程语言 - ITeye博客
JSch是Java Secure Channel的缩写. JSch是一个SSH2的纯Java实现. 它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序.   本文只介绍如何使用JSch实现的SFTP功能.   SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议.