2017-01-06 76 views
1

我的目標是不斷讀取文件夾,並在文件夾中檢測到新文件名時打印文件名。Spring集成 - 如何讀取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