在没给大家上完整代码之前先给大家说*意点:

FTP上传下载,容易出现乱码,记得转换
package com.yinhai.team.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class FavFTPUtil {
/**
* 上传文件(可供Action/Controller层使用)未测试
* @param hostname FTP服务器地址
* @param port FTP服务器端口号
* @param username FTP登录帐号
* @param password FTP登录密码
* @param pathname FTP服务器保存目录
* @param fileName 上传到FTP服务器后的文件名称
* @param inputStream 输入文件流
* @return
*/
public static boolean uploadFile(String hostname, int port, String username, String password, String pathname, String fileName, InputStream inputStream){
boolean flag = false;
FTPClient ftpClient = new FTPClient();
ftpClient.setControlEncoding("UTF-8");
try {
//连接FTP服务器
ftpClient.connect(hostname, port);
//登录FTP服务器
ftpClient.login(username, password);
//是否成功登录FTP服务器
int replyCode = ftpClient.getReplyCode();
if(!FTPReply.isPositiveCompletion(replyCode)){
return flag;
}
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.makeDirectory(pathname);
ftpClient.changeWorkingDirectory(pathname);
ftpClient.storeFile(fileName, inputStream);
inputStream.close();
ftpClient.logout();
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally{
if(ftpClient.isConnected()){
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return flag;
}
/**
* 上传文件(可对文件进行重命名)未测试
* @param hostname FTP服务器地址
* @param port FTP服务器端口号
* @param username FTP登录帐号
* @param password FTP登录密码
* @param pathname FTP服务器保存目录
* @param filename 上传到FTP服务器后的文件名称
* @param originfilename 待上传文件的名称(绝对地址)
* @return
*/
public static boolean uploadFileFromProduction(String hostname, int port, String username, String password, String pathname, String filename, String originfilename){
boolean flag = false;
try {
InputStream inputStream = new FileInputStream(new File(originfilename));
flag = uploadFile(hostname, port, username, password, pathname, filename, inputStream);
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 上传文件(不可以进行文件的重命名操作) 未测试
* @param hostname FTP服务器地址
* @param port FTP服务器端口号
* @param username FTP登录帐号
* @param password FTP登录密码
* @param pathname FTP服务器保存目录
* @param originfilename 待上传文件的名称(绝对地址)
* @return
*/
public static boolean uploadFileFromProduction(String hostname, int port, String username, String password, String pathname, String originfilename){
boolean flag = false;
try {
String fileName = new File(originfilename).getName();
InputStream inputStream = new FileInputStream(new File(originfilename));
flag = uploadFile(hostname, port, username, password, pathname, fileName, inputStream);
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 删除文件 未测试
* @param hostname FTP服务器地址
* @param port FTP服务器端口号
* @param username FTP登录帐号
* @param password FTP登录密码
* @param pathname FTP服务器保存目录
* @param filename 要删除的文件名称
* @return
*/
public static boolean deleteFile(String hostname, int port, String username, String password, String pathname, String filename){
boolean flag = false;
FTPClient ftpClient = new FTPClient();
try {
//连接FTP服务器
ftpClient.connect(hostname, port);
//登录FTP服务器
ftpClient.login(username, password);
//验证FTP服务器是否登录成功
int replyCode = ftpClient.getReplyCode();
if(!FTPReply.isPositiveCompletion(replyCode)){
return flag;
}
//切换FTP目录
ftpClient.changeWorkingDirectory(pathname);
ftpClient.dele(filename);
ftpClient.logout();
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally{
if(ftpClient.isConnected()){
try {
ftpClient.logout();
} catch (IOException e) {
}
}
}
return flag;
}
/**
* 下载文件
* @param hostname FTP服务器地址
* @param port FTP服务器端口号
* @param username FTP登录帐号
* @param password FTP登录密码
* @param pathname FTP服务器文件目录
* @param filename 文件名称
* @param localpath 下载后的文件路径
* @return
*/
public static boolean downloadFile(String hostname, int port, String username, String password, String pathname, String filename, String localpath){
boolean flag = false;
FTPClient ftpClient = new FTPClient();
try {
//连接FTP服务器
ftpClient.connect(hostname, port);
//登录FTP服务器
ftpClient.login(username, password);
//验证FTP服务器是否登录成功
int replyCode = ftpClient.getReplyCode();
if(!FTPReply.isPositiveCompletion(replyCode)){
return flag;
}
//切换FTP目录
boolean b = ftpClient.changeWorkingDirectory(new String(pathname.getBytes(),"ISO-8859-1"));
System.out.println(b);
FTPFile[] ftpFiles = ftpClient.listFiles();
for(FTPFile file : ftpFiles){
String fName = new String(file.getName().getBytes("iso-8859-1"), "UTF-8");
System.out.println(fName);
if(filename.equalsIgnoreCase(fName)){
File localFile = new File(localpath + "/" + fName);
OutputStream os = new FileOutputStream(localFile);
ftpClient.retrieveFile(file.getName(), os);
os.close();
}
}
ftpClient.logout();
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally{
if(ftpClient.isConnected()){
try {
ftpClient.logout();
} catch (IOException e) {
}
}
}
return flag;
}
}
以上所述是小编给大家介绍的Java FTP上传下载删除功能实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# java
# ftp上传下载
# ftp
# 上传下载删除
# JAVA中使用FTPClient实现文件上传下载实例代码
# JAVA技术实现上传下载文件到FTP服务器(完整)
# Java通过FTP服务器上传下载文件的方法
# Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
# Java实现FTP批量大文件上传下载篇1
# Java实现ftp文件上传下载解决慢中文乱码多个文件下载等问题
# Java FTPClient实现文件上传下载
# Java实现FTP批量大文件上传下载篇2
# 详解JAVA中使用FTPClient工具类上传下载
# Java工具jsch.jar实现上传下载
# 帐号
# 上传文件
# 端口号
# 小编
# 重命名
# 在此
# 不可以
# 给大家
# 可供
# 可对
# 所述
# 给我留言
# 感谢大家
# 先给
# 没给
# 疑问请
# 有任何
# 出现乱码
# FTPReply
# public
相关文章:
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
如何用花生壳三步快速搭建专属网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
图册素材网站设计制作软件,图册的导出方式有几种?
网站制作员失业,怎样查看自己网站的注册者?
C#怎么创建控制台应用 C# Console App项目创建方法
如何在阿里云ECS服务器部署织梦CMS网站?
网站制作公司排行榜,四大门户网站排名?
定制建站策划方案_专业建站与网站建设方案一站式指南
建站主机服务器选购指南:轻量应用与VPS配置解析
宝塔建站无法访问?如何排查配置与端口问题?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何在建站之星绑定自定义域名?
油猴 教程,油猴搜脚本为什么会网页无法显示?
内部网站制作流程,如何建立公司内部网站?
如何快速完成中国万网建站详细流程?
如何通过VPS搭建网站快速盈利?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
如何获取开源自助建站系统免费下载链接?
建站主机与服务器功能差异如何区分?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
韩国服务器如何优化跨境访问实现高效连接?
开封网站制作公司,网络用语开封是什么意思?
如何通过智能用户系统一键生成高效建站方案?
盐城做公司网站,江苏电子版退休证办理流程?
建站为何优先选择香港服务器?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
三星网站视频制作教程下载,三星w23网页如何全屏?
做企业网站制作流程,企业网站制作基本流程有哪些?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
香港服务器部署网站为何提示未备案?
如何在服务器上配置二级域名建站?
如何获取免费开源的自助建站系统源码?
如何用已有域名快速搭建网站?
如何在IIS服务器上快速部署高效网站?
如何在宝塔面板创建新站点?
教学网站制作软件,学习*后期制作的网站有哪些?
如何挑选最适合建站的高性能VPS主机?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
已有域名和空间,如何快速搭建网站?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
*请认真填写需求信息,我们会在24小时内与您取得联系。