Java 使用JSCH从远程下载多个扩展名文件

Java 使用JSCH从远程下载多个扩展名文件,java,sftp,jsch,Java,Sftp,Jsch,我有远程目录/remote/Dir,其中有许多扩展名不同的文件 像 我想卸载以.abc.xyz.pqr结尾的所有文件 因此,在本例中,我如何使用JSCh?将所有ls结果添加到一个向量中 Vector<ChannelSftp.LsEntry> list = channelSftp.ls("*.abc"); list.addAll(channelSftp.ls("*.xyz")); list.addAll(channelSftp.ls("*.pqr")); Vector list=ch

我有远程目录
/remote/Dir
,其中有许多扩展名不同的文件

我想卸载以
.abc
.xyz
.pqr
结尾的所有文件


因此,在本例中,我如何使用JSCh?

将所有ls结果添加到一个向量中

Vector<ChannelSftp.LsEntry> list = channelSftp.ls("*.abc");
list.addAll(channelSftp.ls("*.xyz"));
list.addAll(channelSftp.ls("*.pqr"));
Vector list=channelSftp.ls(“*.abc”);
list.addAll(channelSftp.ls(“*.xyz”);
列表添加所有(channelSftp.ls(“*.pqr”);

在您需要在此列表上执行for循环以获取所有匹配的文件之后。

我有一个属性文件,它具有所有这些扩展名,如value=“.abc、.xyz、*.pqr”,那么我如何逐个获取所有扩展名和add-in-Vector?此解决方案需要为每个
ls()
操作往返服务器,这是低效的。获取远程目录中所有文件的列表并在本地对它们进行一次筛选会更有效。不幸的是,这需要您实现自己的通配符匹配,因为Jsch不公开其通配符逻辑。
Vector<ChannelSftp.LsEntry> list = channelSftp.ls("*.abc");
list.addAll(channelSftp.ls("*.xyz"));
list.addAll(channelSftp.ls("*.pqr"));