Java实现FTP上传文件
依赖
<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.8.0</version>
</dependency>
代码
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.commons.net.ftp.FTPReply;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;public class FtpUpload {public static void main(String[] args) {String host = "127.0.0.1";int port = 2134;String userName = "testFtp";String password = "testFtp";File file = new File("D:\\testFile.txt");// ftpFTPClient ftpClient = new FTPClient();// 设置连接使用的字符编码。必须在建立连接之前设置。ftpClient.setControlEncoding("UTF-8");try {// 连接服务端ftpClient.connect(host, port);System.out.println("连接服务器" + host + ":" + port);// ftp操作可能会返回一些响应信息,可以打印出来看看// showServerReply(ftpClient);// 尝试连接后,检查响应码以确认成功int replyCode = ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(replyCode)) {disconnectQuietly(ftpClient);System.out.println("服务器拒绝连接");return;}} catch (IOException e) {disconnectQuietly(ftpClient);System.out.println("连接ftp失败");e.printStackTrace();return;}try {// 登录ftpboolean success = ftpClient.login(userName, password);if (!success) {ftpClient.logout();System.out.println("客户端登录失败");return;}System.out.println("客户端登录成功");// 大部分情况,上传文件时,需要设置这两项// 设置文件传输类型为二进制文件类型ftpClient.setFileType(FTP.BINARY_FILE_TYPE);// 设置被动模式ftpClient.enterLocalPassiveMode();boolean done = false;try (final InputStream input = new FileInputStream(file)) {// 设置上传到ftp上使用的文件名和路径String remote = "testUpload/" + file.getName();// 上传文件done = ftpClient.storeFile(remote, input);}if (done) {System.out.println("上传文件" + file.getName() + "成功");// ftpClient.completePendingCommand();} else {System.out.println("上传文件" + file.getName() + "失败");showServerReply(ftpClient);}ftpClient.noop(); // check that control connection is working OKftpClient.logout();} catch(FTPConnectionClosedException e) {System.out.println("服务端关闭连接");e.printStackTrace();} catch (IOException e) {System.out.println("客户端登录或操作失败");e.printStackTrace();} finally {disconnectQuietly(ftpClient);}}/*** 断开ftp连接*/public static void disconnectQuietly(FTPClient ftpClient) {if (ftpClient.isConnected()) {try {ftpClient.disconnect();} catch (IOException ex) {// do nothing}}}/*** 打印服务器返回信息*/public static void showServerReply(FTPClient ftpClient) {String[] replies = ftpClient.getReplyStrings();if (replies != null && replies.length > 0) {for (String aReply : replies) {System.out.println("服务端响应信息: " + aReply);}}}
}
Java实现FTP上传文件相关推荐
- java ftp 上传文件到服务器,java实现ftp上传文件到服务器
java实现ftp上传文件到服务器 内容精选 换一换 怎样上传文件到Windows操作系统云服务器?安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ ...
- java ftp上传超时_有关java的ftp上传文件时断网的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我有一个java的ftp程序,他既是客户端又是服务端,我把程序放在两台电脑上运行, computer1和computer2,在computer1为文件上传 ...
- Java通过ftp上传文件
首先,pom.xml添加引用 <dependency><groupId>commons-net</groupId><artifactId>commons ...
- java使用ftp上传文件
linux服务器配置 安装ftp yum install vsftpd 启动服务 service vsftpd start 开机启动 chkconfig --level 35 vsftpd on 设置 ...
- java通过ftp上传文件到服务器_java-通过FTP将文件传输到服务器,但结果以零...
我正在尝试使用FTPClient将文件上传到数据库服务器.它显示文件已成功传输,但是文件为空(大小为0字节). 以下是我用来构建的源代码.谁能解决这个问题? package Examples; imp ...
- java ftp上传文件相关代码梳理
java实现ftp文件上传 1.ftp文件上传步骤 1)连接ftp 2)检查工作目录是否存在 3)检查是否上传成功 4)完成任务后,断开ftp 2.具体如下,直接贴上核心代码: A)导入核心pom依赖 ...
- java ftp 上传文件 进度条_java FTP上传文件(进度条显示进度)
java实现FTP上传有2种方式,一种是org.apache.commons.net.ftp.FTPClient这个jar包,一种是sun.net.ftp.FtpClient.不知道为什么,在使用前一 ...
- java ftp上传文件0字节_FTP上传无文件以及0字节问题
这几天在做一个FTP上传文件的功能,在本地运行完全没有问题,上传文件成功,图片成功显示.在公网(centos系统)上进行测试的时候就出了问题了,上传一直卡到storeFile上,一般是会卡住30-60 ...
- ftp 文件夹 上传到服务器,ftp上传文件夹到服务器 远程路径
ftp上传文件夹到服务器 远程路径 内容精选 换一换 WinSCP工具可以实现在本地与远程计算机之间安全地复制文件.与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器, ...
最新文章
- MXNet学习:试用卷积-训练CIFAR-10数据集
- python:No module named ‘pywt‘解决办法
- 1268:【例9.12】完全背包问题
- 枚举算法:最小连续n个合数。试求出最小的连续n个合数(其中n是键盘输入的任意正整数)。
- Java基础:Collection集合、Iterator迭代器以及泛型
- python 快速排名发包_2019年SEO快速排名发包技术及原理 - 立金哥
- matlab 非线性辨识,非线性系统辨识Matlab实现
- Mac配置环境变量的位置
- python体脂率计算
- 进去服务器bios设置u盘启动不了系统,重装系统怎么进不了bios设置u盘启动
- Python 获取LOL皮肤
- 地毯店人员告诉你如何正确选购合适地毯
- 手机ppi排行测试软件,2018主流厂商旗舰手机屏幕测试数据汇总和子项排名统计...
- 用python来实现输出 1-1000的素数,并且按照每8个一行输出
- 纠正你读错的电脑英文词汇--(1)
- 腾讯终面:孤单的QQ号码怎么找?
- Jmeter压测运行原理,这些你知道么?
- 你所不知道的Spring的@Autowired实现细节
- Linux系统编程 复习笔记
- 91,bigmeap 功能对比
热门文章
- 注意力机制详解(脉络版)
- 微信小程序周报(第五期)
- There is no getter for property named 'DEPARTMENT_ID' in 'class com.sccy.hr.model.RewardsPunishment'
- Vulnhub_Beelzebub
- CSS margin 重叠(margin collapse)
- 【libuv高效编程】libuv学习超详细教程2——libuv框架初窥
- win11怎么查看隐藏文件
- 基于ssm的出租车管理系统vue源码
- 计算机 名片,计算机版本的名片识别软件
- Android中使用ExpandableListView实现好友分组