我正在尝试使用jsch库将文件填充到远程服务器。目录结构类似于'/ home / myname / batch_run_dt = 20180706 / batchid = P20180706001 / *'
因此,基本目录batch_run_dt包含多个子目录(batchid = P20180706 *),此外还有子目录。该结构将以类似的方式在远程服务器中维护。我正在使用下面的代码来实现此功能。
public class Runner{
public static void main(String[] args) throws FileNotFoundException, IOException, SQLException, JSchException {
Date todaydate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(todaydate);
cal.add(Calendar.DAY_OF_MONTH,-1);
SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
String date = ft.format(cal.getTime());
logger.info("date :: " + date);
// starting the process
String partition = "batch_run_dt=" + date;
getData(partition);
}
public static void getData(String partition) throws JSchException {
logger.info("Starting download data ");
// get the destination location
String destLoc = "/home/myname/" + partition;
// get source location from data needs to import through sftp
String srcLoc = "/home/myname/" + partition;
download(partition, prop, destLoc, srcLoc);
logger.info("Finished download prov data ");
}
public static void download(String partition, Properties prop, String destLoc, String srcLoc) throws JSchException {
// creaating a sesssion for jsch
Session session = NonProdRunner.createjschsession("username",
"password", "host");
// creating a channel from session
Channel channel = session.openChannel("sftp");
channel.connect();
// creating sftp channel to connect
但是在第一个子文件夹加载后,在sftp中出现异常时出现错误:No such file。不确定我在这里缺少什么,请帮助解决此问题。
墨色风雨
相关分类