Верблюжий язык файлов SortBy шаблон даты системное время или шаблон имени файла? - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужно отсортировать каталог ftp другим способом, я использую опцию sortBy = file: modifed.Однако это последнее измененное время не подходит для моего варианта использования.иногда файл, полученный через ftp, отстает или предшествует другому.содержимое - это данные, чувствительные к временным рядам, имена файлов публикуются с отметкой времени.

пример: fileName1_2018-12-14_12-34-33.csv системное время 03:30:23 fileName2_2018-12-14-12-35-22.csv системное время 03: 30: 03

ясно, что fileName1 должен быть использован первым, но кое-что из того, как время изменения системы предполагает, что fileName2 будет получен первым.файлы, созданные в правильном порядке, однако, записанные в систему, завершены не в порядке.происходит какое-то сумасшествие?но суть в том, что мне нужно использовать fileName1 перед fileName2.поэтому я не могу использовать sortBy = file: updated.

Я думаю использовать что-то вроде, может быть, просто сортировки по лексикографически.Я смотрю на sortBy = date: file: yyyyMMdd; file: name, но не могу понять, является ли шаблон даты системным временем или я могу использовать его в качестве шаблона для файлов?

Я надеюсь, что это делаетсмысл.

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

        final String fromStr = String.format("%s://%s@%s:%s/%s?password=RAW(%s)&recursive=%s&stepwise=%s&useList=%s&passiveMode=%s&disconnect=%s"
                + "&move=.processed"
                + "&maxMessagesPerPoll=100"
                + "&eagerMaxMessagesPerPoll=false"
                + "&sortBy=file:modified"
                //+ "&passiveMode=true"
                + "&sendEmptyMessageWhenIdle=false"
                //+ "&stepwise=false"
                + "&delay=10000"
                + "&initialDelay=5000"
                + "&connectTimeout=10000"
                , transport, username, host, port, path, password, recursive, stepwise, useList, passiveMode, disconnect);

1 Ответ

0 голосов
/ 16 декабря 2018

Сортировка по файлу: измененная - это временная метка файла.Для файлов FTP метка времени еще менее точна, чем обычные файлы, поскольку она зависит от операции со списком серверов FTP, которая часто возвращает время только в часах и минутах.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...