2017-01-06 1 views
1

Моя цель - читать папку и печатать имя файла при обнаружении нового имени файла в папке.Spring Integration - Как читать txt и печатать его имя файла?

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

спасибо.

@Bean 
public IntegrationFlow fileReadingFlow() { 
    return IntegrationFlows 
     .from(s -> s.file(new File('/tmp/test')) 
      .patternFilter("*.txt"), 
       e -> e.poller(Pollers.fixedDelay(1000))) 
        .transform(Transformers.fileToString()) 
        ##### What do I need to do here to print the file name? 
        .get(); 
} 

ответ

0
.handle(m -> System.out.println(m.getHeaders().get(FileHeaders.FILENAME))) 

FileToStringTransformer заполнит такой заголовок в процессе трансформации:

T result = this.transformFile(file); 
     Message<?> transformedMessage = getMessageBuilderFactory().withPayload(result) 
       .copyHeaders(message.getHeaders()) 
       .setHeaderIfAbsent(FileHeaders.ORIGINAL_FILE, file) 
       .setHeaderIfAbsent(FileHeaders.FILENAME, file.getName()) 
       .build(); 
+0

Большое спасибо Артему! – rodolfo

 Смежные вопросы

  • Нет связанных вопросов^_^