linux..ftp上传下载删除

本文介绍了如何在Linux环境中使用FTP进行文件的上传、下载和删除。包括FTP客户端的使用,连接远程服务器,执行基本的文件管理操作,是Linux系统管理员必备的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;

import com.github.pagehelper.util.StringUtil;
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 lombok.extern.slf4j.Slf4j;

/**
	 * 方法一: 连接sftp的链接(linux)
	 * @param host 地址
	 * @param port 端口号
	 * @param username  用户名
	 * @param password  密码
	 * @return ChannelSftp  sftp的引用类
	 */
	public static ChannelSftp connectHost(String host, int port, String username, String password){
		JSch jsch = new JSch();
		try {
			Session sshSession = jsch.getSession(username, host, port);
			log.info("Session created.");
			sshSession.setPassword(password);
			Properties sshConfig = new Properties();
			sshConfig.put("StrictHostKeyChecking", "no");
			sshSession.setConfig(sshConfig);
			sshSession.connect();
			log.info("Session connected.");
			log.info("Opening Channel.");
			Channel channel = sshSession.openChannel("sftp");
			channel.connect();
			log.info("Connected to " + host + ":" + port);
			return (ChannelSftp)channel;
		} catch (Exception e) {
			log.error("*******连接ftp地址[{}]-[{}]出现异常***************",host,username, e);
			return null;
		}
	}

    /**
	 * 方法一:关闭sftp连接
	 * 关闭sftp的链接
	 * @param channelSftp
	 */
	public static void disconnectSfptHost(ChannelSftp channelSftp){
		if (channelSftp != null) {
			if (channelSftp.isConnected()) {
				try {
					channelSftp.getSession().disconnect();
				} catc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值