Java FTP 上传文件 精简版 原

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

// 初始化FTP客户端
FTPClient ftp = new FTPClient();
try {

    int reply;
    ftp.connect(ip, port); // 连接FTP服务器
    ftp.login(username, passwd); // 登录FTP
    reply = ftp.getReplyCode(); // 正常返回230登陆成功
    if (!FTPReply.isPositiveCompletion(reply)) { 
        ftp.disconnect();
    }
    ftp.changeWorkingDirectory(ftpPath); // ftpPath为要上传的FTP路径
    FileInputStream input = new FileInputStream(new File(localFilePath)); // localFilePath为要上传的本地文件路径
    ftp.enterLocalPassiveMode(); // 设置被动模式
    ftp.setFileTransferMode( FTP.STREAM_TRANSFER_MODE ); // 设置流上传方式
    ftp.setFileType(FTP.BINARY_FILE_TYPE); // 设置二进制上传
    ftp.storeFile(fileName, input); // 上传 fileName为上传后的文件名
    input.close(); // 关闭本地文件流
    ftp.logout(); // 退出FTP
} catch(IOException e) {
} catch(Exception e) {
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

PHP漏洞全解

针对PHP的网站主要存在下面几种攻击方式: 1、命令注入(Command Injection) 2、eval注入(Eval Injection) 3...

56170
来自专栏枕边书

从并发处理谈PHP进程间通信(一)外部介质

进程间通信 进程间通信(IPC,Inter-Process Communication),多进程开发中,进程间通信是一个永远也绕不开的问题。在 web开发中,我...

32160
来自专栏编码小白

activiti学习笔记(六) 监听器

activiti全局监听器 全局监听器主要使用的场景就是监控这个流程的启动和结束。流程开始的时候可以监控,流程结束的时候也可以监控 监听器的接口 public ...

1.6K60
来自专栏积累沉淀

Oracle递归查询:使用prior实现树操作

oracle树查询的最重要的就是select…start with…connect by…prior语法了。依托于该语法,我们可以将一个表形结构的数据以树的顺...

35950
来自专栏程序猿

面试题目之查询优化

面试老头问你的时候,优化的问题,这些是一部分,后边的在给吧 安装MySQL后,配置文件my.cnf的路径是:../mysql_files/sha...

29850
来自专栏Java3y

Struts2【拦截器】

什么是拦截器 拦截器Interceptor…..拦截器是Struts的概念,它与过滤器是类似的…可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Str...

33350
来自专栏Python中文社区

简陋的分布式爬虫(附项目代码地址)

專 欄 ❈ 哇咔咔,学习过C, C++, Python, 了解java,html, javascript基础。其中就Python而言,自己写过简单的博客(注册,...

231100
来自专栏黑泽君的专栏

day29_Hibernate复习_01

    功能:Dao层(持久层)框架,封装了JDBC。     思想:整合了ORM思想,以面向对象的思想操作数据库。

7810
来自专栏熊二哥

MongoDB快速入门

    从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践。最近获得一段学习休息时间,购买了Nosql技术实践一书,正在...

344100
来自专栏逆向技术

远程线程注入

一丶远程线程注入的讲解 远程线程注入的原理,我会写一个远程线程开发的例子 我们总共需要几步 /*1.查找窗口,获取窗口句柄*/ /*2.根据...

269100

扫码关注云+社区

领取腾讯云代金券