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

posted @   段江涛IT  阅读(804)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
页脚HTML代码
点击右上角即可分享
微信分享提示