当前位置: 首页 > 知识库问答 >
问题:

Apache NET ftp listFiles工作,但listFiles(字符串路径名称)不工作

龙嘉誉
2023-03-14

一、背景

我正在开发一个应用程序,它使用Spring集成来通过ftp检索文件。我使用的是Spring集成的ftp入站适配器之一。然而,即使在我反复尝试之后,我还是无法让它工作。所以我开始查看代码,发现在包装下它使用apache Commons net api。

问题

使用ApacheCommons网络库,我以同样的方式在本地编写代码,但它不起作用。这是密码-

FTPClient client = new FTPClient();
client.connect("x.x.x.x", 21);
client.enterLocalPassiveMode();
client.login("xxx", "xxx");
FTPFile[] files = client.listFiles("/AMNH");

这将返回0行。这就是spring集成执行调用客户机的方式。列表文件(“/AMNH”)。所以返回的文件列表是0,即使我在ftp位置有文件,整个应用程序都处于空闲状态。

但是,如果我运行以下代码,我就能够检索文件。我想知道,当我们传递参数时,listFiles方法有什么问题,我们如何解决这个问题?我这么说是因为我没有不执行列表文件(字符串路径名)的特权

FTPClient client = new FTPClient();
client.connect("x.x.x.x", 21);
client.enterLocalPassiveMode();
client.login("xxx", "xxx");
client.changeWorkingDirectory("/AMNH");
FTPFile[] files = client.listFiles("");

共有1个答案

秦涵涤
2023-03-14

请查看有关变更工作目录的参考手册。只需扩展DefaultFTPSSessionFactory并实现postProcessClientAfterConnect()回调。

 类似资料:
  • 我正在尝试为我正在编写的程序使用其他JAR。 我安装了所有必需的文件,并将它们添加到类路径中,但Java无法识别这些包。 我在jar位置之间加了分号,但Java无法识别jar中的包。为什么会这样? 例如,我的类路径如下所示: .; C:\Program Files(x86)\Java\jre7\lib\exts\QTJava.zip;C:\用户\JOE\下载\aseymock-3.2\asymoc

  • 我的java bin文件夹包含java.exe @大卫华莱士 Microsoft Windows[版本6.3.9600](c)2013 Microsoft Corporation。保留所有权利。 C:\用户\Andy\AppData\漫游\Microsoft\Windows\开始菜单\Programs\Startup>

  • 问题内容: 在Java中,我们使用以下程序包以编程方式创建excel文档: 如果尝试设置工作表的名称(不是文件,而是内部Excel工作表),则在以下情况下会出现错误: 名称超过31个字符 名称包含以下任何字符:/ \ *?[] 但是,在创建具有以下工作表名称的文档后: @#$%&()+〜`“’:;,。| 没有错误输出,并且在Java中一切正常。当您在Office 2003中打开excel文件时,它

  • 我对蟒蛇很陌生。我试图从另一个列表中删除出现在一个列表中的文件。这些列表是通过在mac和windows上重定向ll-R生成的(但是自从使用其他python脚本进行合并、排序等处理之后)。有些文件名有重音和特殊符号。这些字符串,即使它们是相同的(打印相同,在包含列表的文件中看起来相同),也被发现是不相等的。 我找到了关于如何在Unicode中比较字符串与特殊字符的线程:Python字符串比较-特殊/

  • 当我试图用日期重命名上传的图像时,一个错误被抛出,它显示“无法读取未定义的属性'isLoggedIn'”。 如果有人能解决这个问题,我会很高兴的。首先感谢Multer,我认为它会抛出一个错误,然后转到错误处理中间件。 下面是我的app.js常量path=require('path');

  • 编辑:完整的脚本现在只有两行。在我改变了jdk之后,它曾经工作过并且停止了工作。 无法连接字符串(完整脚本) 输出 棒极了。lang.MissingMethodException:没有方法的签名: 脚本1。hello()适用于参数类型:(java.lang.String) 值:[,]可能的解决方案: getAt(java.lang.字符串),睡眠(长), 每个(groovy.lang.Closur