如何读取FTP文件的内容?

时间:2018-07-22 09:18:58

标签: java spring-boot ftp spring-integration

我正在使用spring集成,并且正在使用spring的ftp Integration创建文件管理器。我设法创建了这样的文件浏览器

@Configuration
public class FtpConfiguration {
    @ServiceActivator(inputChannel = "ftpLS")
    @Bean
    public FtpOutboundGateway getGW() {
        FtpOutboundGateway gateway = new FtpOutboundGateway(sf(), "ls", "payload");
        gateway.setOption(Option.SUBDIRS);
        gateway.setOutputChannelName("results");
        return gateway;
    }

    @Bean
    public MessageChannel results() {
        DirectChannel channel = new DirectChannel();
        return channel;
    }

    @Bean
    public DefaultFtpSessionFactory sf() {
        DefaultFtpSessionFactory sf = new DefaultFtpSessionFactory();
        sf.setHost("localhost");
        sf.setPort(21);
        sf.setUsername("admin");
        sf.setPassword("admin");
        return sf;
    }

    @MessagingGateway(defaultRequestChannel = "ftpLS", defaultReplyChannel = "results")
    public interface Gate {
        List<FtpFileInfo> list(String directory);
    }

    @Bean
    public FtpRemoteFileTemplate template(DefaultFtpSessionFactory sf) {
        return new FtpRemoteFileTemplate(sf);
    }
}

是否可以使用spring集成来读取文件以及创建或删除新文件。我对此很陌生。任何帮助,将不胜感激。 我尝试使用文件缓冲阅读器

BufferedReader reader = new BufferedReader(new FileReader(file));

但是文件的根目录在我的本地目录中搜索文件,有没有办法将其指向ftp,以及上面的spring集成配置中提到的ftp,用户名和密码。

1 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但是也可以通过该FtpOutboundGateway进行读取,创建和删除。查看其command选项:https://docs.spring.io/spring-integration/docs/5.0.6.RELEASE/reference/html/ftp.html#ftp-outbound-gateway