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

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


person singhal    schedule 22.08.2017    source источник


Ответы (1)


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

Документация по Java: 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;
            }
        }
person Mike    schedule 22.08.2017