为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用Java中的jsch将文件列表提取到远程服务器的目录

无法使用Java中的jsch将文件列表提取到远程服务器的目录

达令说 2021-05-09 16:30:17
我正在尝试使用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。不确定我在这里缺少什么,请帮助解决此问题。
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

因为使用了,ls *您将获得文件和文件夹,然后将它们用于cd filename

可能性:

  • 这是一个文件

  • 用户没有正确的权利

检查文档以确认问题:

ChannelSftp.cd

SftpException-如果命名路径未指示目录,用户无法访问该目录或发生其他问题。

另一个可能的问题是,如果您尝试移动到类似以下的文件夹中:

cd /root/folder*

该结构提出了多个结果:

/root/folderA
/root/folderB

由于该命令可以赋予result:folderAfolderB,因此您将获得一个异常:

Exception in sftp:/root/folder* is not unique:


查看完整回答
反对 回复 2021-05-19
  • 1 回答
  • 0 关注
  • 217 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信