Java通过ftp上传文件

Java通过ftp上传文件

首先,pom.xml添加引用

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

先上代码吧:

public static void main(String[] args) {

    FTPClient ftp = new FTPClient();
    System.out.println("准备连接到ftp");
    try {
        //连接
        ftp.connect("172.23.88.107", 8003);

        //登录
        boolean loginS = ftp.login("admin", "admin");
        if (!loginS) {
            System.out.println("ftp登录失败,用户名或密码错误");
            return;
        }
        
        // 获取本地文件并上传
        String file = "d://IIS//YRWeb//Web.config";
        FileInputStream input = new FileInputStream(file);
        ftp.changeWorkingDirectory("file");//跳转目录
        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);//必须要设置以二进制的方式传输文件
        ftp.enterLocalPassiveMode();//被动模式
        //ftp.enterLocalActiveMode();//主动模式,默认是主动模式

        if (!ftp.storeFile(new File(file).getName(), input)) {
            System.out.println("失败,服务器返回:" + ftp.getReplyString());//获取上传失败的原因
        } else {
            System.out.println("文件:" + new File(file).getName() + " 上传成功");
        }
        input.close();
        ftp.logout();
    } catch (IOException e) {
        System.out.println("ftp连接失败");
    }
}        

说明:

1.连接服务器

2.根据用户名密码登录

3.设置目录,如果是根目录可以不用设置

4.设置文件方式

5.storeFile上传文件

6.关闭文件流

7.退出ftp