全网整合营销服务商

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

免费咨询热线: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 


相关文章: 网站制作培训多少钱一个月,网站优化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小时内与您取得联系。