Верблюжий язык файлов SortBy шаблон даты системное время или шаблон имени файла?
Мне нужно отсортировать каталог 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 ответ
Сортировка по файлу: измененная - это временная метка файла. Для файлов FTP метка времени еще менее точна, чем обычные файлы, поскольку она зависит от операции со списком серверов FTP, которая часто возвращает время только в часах и минутах.
В вашем случае в именах файлов есть временные метки, поэтому вам следует сортировать по имени файла, а не по измененному файлу.