Извлечение файлов из SFTP

Я хочу получить файлы из SFTP, которые создаются после данной отметки времени (время последнего нажатия) в Java. Я использую j2ssh на данный момент. Пожалуйста, дайте мне знать, если какой-либо другой API поддерживает такую ​​функцию.

1 ответ

Jsch поддерживает команду ls, которая вернет вам все атрибуты удаленного файла. Вы можете написать небольшой код, чтобы исключить файлы, которые вы хотите получить оттуда.

Java Doc: http://epaul.github.io/jsch-documentation/javadoc/

В этом примере сравниваются временные метки для удаленного файла, чтобы найти самый старый файл, и было бы не слишком сложно его изменить, чтобы сравнить дату последнего запуска с датой удаленного файла, а затем выполнить загрузку как часть цикла.

Код из Поиск размера файла и последнего изменения файла SFTP с использованием Java

try {
    list = Main.chanSftp.ls("*.xml");
    if (list.isEmpty()) {
        fileFound = false;
    }
    else {
        lsEntry = (ChannelSftp.LsEntry) list.firstElement();
        oldestFile = lsEntry.getFilename();
        attrs = lsEntry.getAttrs();
        currentOldestTime = attrs.getMTime();
        for (Object sftpFile : list) {
            lsEntry = (ChannelSftp.LsEntry) sftpFile;
            nextName = lsEntry.getFilename();
            attrs = lsEntry.getAttrs();
            nextTime = attrs.getMTime();
            if (nextTime < currentOldestTime) {
                oldestFile = nextName;
                currentOldestTime = nextTime;
            }
        }
Другие вопросы по тегам