全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java FTP上传下载删除功能实例代码

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

 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小时内与您取得联系。