我正在尝试使用 jsch 库通过 sftp 下载文件。我成功地做到了,但我只想下载尚未下载的文件。我正在收集条目列表,并尝试实现一个哈希集来检查它们是否已经下载。问题是,它正在向哈希集添加重复项并重新下载所有文件。下面是我编写的代码(嗯,重要的部分)。
Vector<ChannelSftp.LsEntry> list = sftpChannel.ls("*.gz");
for (ChannelSftp.LsEntry entry : list) {
if (set.add(entry)) {
sftpChannel.get(entry.getFilename(), fileDestination);
}
}
这一切都在一个方法中。所以,当我再次调用该方法时,它应该只下载我之前没有下载的文件。但是,它没有这样做。有什么建议么?如果我需要澄清任何事情,请告诉我。