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

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
相关文章:
b2c电商网站制作流程,b2c水平综合的电商平台?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
建站之星官网登录失败?如何快速解决?
如何在阿里云域名上完成建站全流程?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何制作网站标识牌,动态网站如何制作(教程)?
建站之星北京办公室:智能建站系统与小程序生成方案解析
C++如何编写函数模板?(泛型编程入门)
广州商城建站系统开发成本与周期如何控制?
长沙企业网站制作哪家好,长沙水业集团官方网站?
建站之星代理费用多少?最新价格详情介绍
如何在万网开始建站?分步指南解析
如何在IIS中新建站点并配置端口与IP地址?
小型网站建站如何选择虚拟主机?
公众号网站制作网页,微信公众号怎么制作?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何用景安虚拟主机手机版绑定域名建站?
网站图片在线制作软件,怎么在图片上做链接?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
建站之星后台管理如何实现高效配置?
如何在IIS7上新建站点并设置安全权限?
如何高效利用200m空间完成建站?
微课制作网站有哪些,微课网怎么进?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
韩国服务器如何优化跨境访问实现高效连接?
如何用好域名打造高点击率的自主建站?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
如何在IIS中新建站点并解决端口绑定冲突?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
大同网页,大同瑞慈医院官网?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
网站制作的步骤包括,正确网址格式怎么写?
如何快速上传建站程序避免常见错误?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
高端云建站费用究竟需要多少预算?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何在阿里云虚拟主机上快速搭建个人网站?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
建站之星logo尺寸如何设置最合适?
内部网站制作流程,如何建立公司内部网站?
郑州企业网站制作公司,郑州招聘网站有哪些?
建站之星展会模版如何一键下载生成?
如何通过山东自助建站平台快速注册域名?
建站之星如何优化SEO以实现高效排名?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何在阿里云香港服务器快速搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。