http://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/ChannelSftp.html
这个能看很多接口文档。请直接去看
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import com.crunii.job.tas.cq.sftp.utils.sftp.SFTPChannel;
import com.crunii.job.tas.cq.sftp.utils.sftp.SFTPConstants;
import com.crunii.job.tas.cq.sftp.utils.sftp.SFTPLogRogressMonitor;
import com.jcraft.jsch.ChannelSftp;
public class SFTPTest {
public SFTPChannel getSFTPChannel() {
return new SFTPChannel();
}
/**
* @param args
* @throws Exception
*/
public void test() throws Exception {
SFTPTest test = new SFTPTest();
Map<String, String> sftpDetails = new HashMap<String, String>();
// 本地存放地址
String localPath = "C:\\Users\\Administrator\\Desktop\\apache-nutch-2.3.1-src.tar.gz";
// Sftp下载路径
String sftpPath = "/root/Desktop/test/apache-nutch-2.3.1-src.tar.gz";
// 设置主机ip,端口,用户名,密码
sftpDetails.put(SFTPConstants.SFTP_REQ_HOST, "your ip");
sftpDetails.put(SFTPConstants.SFTP_REQ_USERNAME, "your username");
sftpDetails.put(SFTPConstants.SFTP_REQ_PASSWORD, "your password");
sftpDetails.put(SFTPConstants.SFTP_REQ_PORT, "22");
SFTPChannel channel = test.getSFTPChannel();
ChannelSftp chSftp = channel.getChannel(sftpDetails/* , 60000 */);
File file = new File(localPath);
long fileSize = file.length();
chSftp.put(localPath, sftpPath, new SFTPLogRogressMonitor(fileSize), ChannelSftp.OVERWRITE);
chSftp.quit();
channel.closeChannel();
}
// 下载
public void test1() throws Exception {
// SFTPTest test = new SFTPTest();
//
// Map<String, String> sftpDetails = new HashMap<String, String>();
//
// // 本地存放地址
// String localPath = "C:\\Users\\Administrator\\Desktop\\test\\balance_source_23_2020.dat";
// // Sftp下载路径
// String sftpPath = "/root/Desktop/balance_source_23_2020_5_18.dat";
// // 设置主机ip,端口,用户名,密码
// sftpDetails.put(SFTPConstants.SFTP_REQ_HOST, "");
// sftpDetails.put(SFTPConstants.SFTP_REQ_USERNAME, "root");
// sftpDetails.put(SFTPConstants.SFTP_REQ_PASSWORD, "123456");
// sftpDetails.put(SFTPConstants.SFTP_REQ_PORT, "22");
//
// SFTPChannel channel = test.getSFTPChannel();
// ChannelSftp chSftp = channel.getChannel(sftpDetails, 60000);
//
// chSftp.cd("/root/Desktop/");
//
// Iterator v = chSftp.ls("balance_source_23_2020*").iterator();
// System.out.println(v);
// while (v.hasNext()) {
// Object next = v.next();
// int lastIndexOf = next.toString().lastIndexOf(" ");
// String substring = next.toString().substring(lastIndexOf, next.toString().length());
// System.out.println(substring);
// }
// File file = new File(localPath);
// long fileSize = file.length();
// FSUtil.checkDirExists(new File(localPath));
//
// // chSftp.put(localPath, sftpPath, new FileProgressMonitor(fileSize),
// // ChannelSftp.OVERWRITE);
// chSftp.get(sftpPath, localPath, new SFTPProgressMonitor(fileSize),
// ChannelSftp.OVERWRITE);
// chSftp.quit();
// channel.closeChannel();
}
}