Java——通过Java代码连接ftp服务器

简介: Java——通过Java代码连接ftp服务器

使用依赖包commons-net:

<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.8.0</version>
</dependency>

java代码里面使用上面依赖包中的FTPClient;

通过四个参数连接ftp:ip、端口、用户名、密码

import org.apache.commons.net.ftp.FTPReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.apache.commons.net.ftp.FTPClient;
import java.io.IOException;
@Service
public class FtpClientManager {
    private static Logger logger = LoggerFactory.getLogger(FtpClientManager.class);
    @Value("${ftp.ip}")
    private String ip;
    @Value("${ftp.port}")
    private Integer port;
    @Value("${ftp.username}")
    private String username;
    @Value("${ftp.password}")
    private String password;
    private FTPClient ftpClient = null;
    public FTPClient getClient() {
        if (this.ftpClient == null) {
            this.initClient();
        }
        return this.ftpClient;
    }
    private void initClient() {
        if (this.ftpClient == null) {
            ftpClient = new FTPClient();
            try {
                ftpClient.connect(ip);
                ftpClient.login(username, password);
                int reply = ftpClient.getReplyCode();
                if (!FTPReply.isPositiveCompletion(reply)) {
                    ftpClient.disconnect();
                }
                logger.info("success to connect ftp server");
            } catch (IOException e) {
                logger.error("faild to connect ftp server because " + e.getMessage());
                System.exit(0);
            }
        }
    }
}
相关文章
|
15天前
|
Java 测试技术 应用服务中间件
常见 Java 代码缺陷及规避方式(下)
常见 Java 代码缺陷及规避方式(下)
43 0
|
17天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
25 8
|
9天前
|
前端开发 NoSQL JavaScript
java域控连接AD遇到的问题
java域控连接AD遇到的问题
|
15天前
|
Java
代码的魔法师:Java反射工厂模式详解
代码的魔法师:Java反射工厂模式详解
26 0
|
15天前
|
监控 安全 Java
常见 Java 代码缺陷及规避方式(中)
常见 Java 代码缺陷及规避方式(中)
27 1
|
17天前
|
设计模式 算法 Java
23种设计模式,模板方法模式的概念优缺点以及JAVA代码举例
【4月更文挑战第10天】模板方法模式是一种行为设计模式,它定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些特定步骤。
15 0
|
18天前
|
设计模式 Java
23种设计模式,状态模式的概念优缺点以及JAVA代码举例
【4月更文挑战第9天】状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为,这个对象看起来似乎修改了它的类。
29 4
|
18天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出&quot;验证成功&quot;,否则输出&quot;验证失败&quot;。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
Java 调度
Java服务器宕机解决方法论(下)
Java服务器宕机解决方法论(下)
321 0
|
前端开发 Java Linux
Java服务器宕机解决方法论(上)
Java服务器宕机解决方法论(上)
627 0
Java服务器宕机解决方法论(上)