2017-01-06 10 views
1

私の目標は、フォルダ内の新しいファイル名が検出されたときに、ファイルを読み続けることです。春の統合 - 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

関連する問題