首页 > 解决方案 > 如何使用 SpringIntegration 将文件转换为字符串

问题描述

我正在尝试读取文本文件并使用 SpringIntegration 将其转换为字符串。

在将文件转换为字符串时需要帮助。

Git 链接:https ://github.com/ravikalla/spring-integration

源代码 -

    @Bean
    @InboundChannelAdapter(value = "payorFileSource", poller = @Poller(fixedDelay = "10000"))
    public MessageSource<File> fileReadingMessageSource() {
        FileReadingMessageSource sourceReader = new FileReadingMessageSource();
        sourceReader.setDirectory(new File(INPUT_DIR));
        sourceReader.setFilter(new SimplePatternFileListFilter(FILE_PATTERN));
        return sourceReader;
    }

    @Bean
    @Transformer(inputChannel="payorFileSource", outputChannel="payorFileContent")
    public FileToStringTransformer transformFileToString() {
        FileToStringTransformer objFileToStringTransformer = new FileToStringTransformer();
        return objFileToStringTransformer;
    }

错误 -

SEVERE: org.springframework.integration.handler.ReplyRequiredException: No reply produced by handler 'fileCopyConfig.transformPayorStringToObject.transformer.handler', and its 'requiresReply' property is set to true., failedMessage=GenericMessage [payload=1|test1, headers={sequenceNumber=1, file_name=payor.txt, sequenceSize=4, correlationId=ff1fef7d-7011-ee99-8d71-96146ac9ea07, file_originalFile=source/payor.txt, id=fd4f950b-afcf-70e6-a053-7d59ff593add, file_relativePath=payor.txt, timestamp=1554875904858}]
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:119)

标签: springspring-bootspring-integration

解决方案


您可以将文件转换为一个InputStream并使用 IOUtils.toString(inputStream)将其转换为字符串。


推荐阅读