高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

本文介绍了如何创建一个高可用的Spring FTP工具类,结合了代码复用和动态配置的优点。通过Spring框架管理bean,实现单例并从properties文件注入配置。文章还涵盖了文件上传、目录操作,并列举了解决FTP连接和权限问题的方法。
摘要由CSDN通过智能技术生成

高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

前言

最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种。

第一种是单例模式的类。

第二种是另外定义一个Service,直接通过Service来实现ftp的上传下载删除。

这两种感觉都有利弊。

第一种实现了代码复用,但是配置信息全需要写在类中,维护比较复杂。

第二种如果是spring框架,可以通过propertis文件,动态的注入配置信息,但是又不能代码复用。

所以我打算自己实现一个工具类,来把上面的两种优点进行整合。顺便把一些上传过程中一些常见的问题也给解决了。

因为我使用的是spring框架,如果把工具类声明为bean给spring管理,他默认就是单例的,所以不需要我再实现单例。并且因为是bean,所以我可以把properties文件的属性注入bean的属性中,实现解耦,下面是具体代码:
package com.cky.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

//使用spring自动生成单例对象,
//@Component
public class FtpUtil {
//通过properties文件自动注入
@Value(" f t p . h o s t " ) p r i v a t e S t r i n g h o s t ; / / f t p 服 务 器 i p @ V a l u e ( " {ftp.host}") private String host; //ftp服务器ip @Value(" ftp.host")private

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值