springMVC下载FTP上的文件

今天没时间写。先上传 一个工具类

工具类

package com.utils;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;import org.apache.commons.lang3.StringUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;/*** ftp 工具类* * @date 2016年1月15日*/
public class FTPUtils {private static final Logger logger = LoggerFactory.getLogger(FTPUtils.class);private static final FTPClientConfig config = new FTPClientConfig(FTPClientConfig.SYST_NT);
public static final String DATE_TIME_FORMAT_TWO = "yyyy-MM-dd HH:mm";private static final int BUFFER_SIZE = 1024;static {config.setDefaultDateFormatStr(DATE_TIME_FORMAT_TWO);config.setServerTimeZoneId("GMT+8");config.setServerLanguageCode("zh");}/*** 获取ftp 客户端** @param host* @param port* @param username* @param password* * @return FTPClient*/public static FTPClient client(String host, int port, String username, String password) {FTPClient client = new FTPClient();client.configure(config);try {client.connect(host, port);client.enterLocalPassiveMode();int replyCode = client.getReplyCode();if (FTPReply.isPositiveCompletion(replyCode)) {client.login(username, password);replyCode = client.getReplyCode();if (FTPReply.isPositiveCompletion(replyCode)) {return client;} else {logger.info(String.format("ftp client open faild. replyCode: %d, %s ", replyCode, client.getReplyString()));client.disconnect();return null;}} else {logger.info(String.format("ftp client open faild. replyCode: %d, %s ", replyCode, client.getReplyString()));client.disconnect();return null;}} catch (IOException e) {logger.error("ftp client open faild", e);return null;}}/*** ftp 下载远程文件* * @param client ftp客户端对象* @param remoteDirPath 远程目录* @param remoteFile 远程文件* @param localDir 本地存储目录(空 使用用户当前目录)* @param localFile 本地存储名称(空 使用文件原始名称)* * @return boolean*/public static boolean download(FTPClient client, String remoteDirPath, String remoteFile, String localDir, String localFile) {try {boolean dir = client.changeWorkingDirectory(remoteDirPath);boolean result = false;if (dir) {FTPFile[] files = client.listFiles(remoteFile);if (files.length == 1) {FTPFile file = files[0];if (file.isFile()) {if (StringUtils.isEmpty(localFile))localFile = file.getName();if (StringUtils.isEmpty(localDir))localDir = System.getProperty("user.home");File localDirFile = new File(localDir);if (!localDirFile.exists())localDirFile.mkdirs();StringBuilder sb = new StringBuilder(localDir);sb.append(File.separator).append(localFile);try (FileOutputStream out = new FileOutputStream(sb.toString())) {client.setBufferSize(BUFFER_SIZE);client.setFileType(FTPClient.BINARY_FILE_TYPE);result = client.retrieveFile(file.getName(), out);} catch (IOException e) {e.printStackTrace();logger.error("ftp download faild", e);}}}}return result;} catch (IOException e) {e.printStackTrace();logger.error("ftp download faild", e);return false;}}/*** ftp 连接断开** @param client ftp 客户端*/public static void close(FTPClient client) {try {if (!client.isConnected())client.disconnect();} catch (IOException e) {e.printStackTrace();}}}

FTPClient client = FTPUtils.client(ftpHost, ftpPort, ftpUsername, ftpPassword);
FTPUtils.download(client, "/", file + zip, localPath, null);
FTPUtils.close(client);

转载于:https://www.cnblogs.com/chenyq/p/5383440.html

springMVC下载FTP上的文件相关推荐

  1. python3实现下载ftp上的文件

    如题,使用python3中ftplib模块实现将ftp服务器上的文件下载到本地.Demo如下: import ftplib import os from pathlib import Path imp ...

  2. 在linux服务器上如何下载ftp上面的文件?lftp详解

    1.安装lftp yum install -y lftp 2.登录 lftp user:password@ip 3.查看是否登录成功 ls看下否显示目录 提示报错: 提示Fatal Error: Ce ...

  3. 下载了python在哪里写代码-通过python下载FTP上的文件夹的实现代码

    # -*- encoding: utf8 -*- import os import sys import ftplib class FTPSync(object): def __init__(self ...

  4. linux通过ftp自动上传文件到服务器,Linux系统通过FTP上传文件到云服务器

    如何通过FTP将文件上传到腾讯云Linux云服务器?上一篇小编给大家介绍了通过Winscp将文件上传到云服务器的方法,今天小编为大家介绍过FTP将文件上传到腾讯云Linux云服务器的方法,用户需要使用 ...

  5. java ftp 上传文件到服务器,java实现ftp上传文件到服务器

    java实现ftp上传文件到服务器 内容精选 换一换 怎样上传文件到Windows操作系统云服务器?安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ ...

  6. ssh怎么ftp上传文件到服务器,ssh ftp上传文件到服务器

    ssh ftp上传文件到服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别 ...

  7. ftp 文件夹 上传到服务器,ftp上传文件夹到服务器 远程路径

    ftp上传文件夹到服务器 远程路径 内容精选 换一换 WinSCP工具可以实现在本地与远程计算机之间安全地复制文件.与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器, ...

  8. Python使用FTP上传文件

    Python使用FTP上传文件 本文主要介绍如何使用Python通过FTP上传文件. FTP简介 FTP即文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一种 ...

  9. ftp上传文件与服务器的连接被重置怎么办,FTP上传文件与服务器的连接被重置

    FTP上传文件与服务器的连接被重置 内容精选 换一换 通过FTP或SFTP连接,可以对FTP或SFTP服务器抽取或加载文件,支持CSV.二进制和JSON格式.FTP和SFTP的连接参数相同. 通过FT ...

最新文章

  1. 敏捷方法适合什么样的团队?
  2. ***如何优雅的选择字体(font-family)
  3. 第十六届全国大学生智能汽车竞赛RT-Thread创新专项奖
  4. 影响软件测试未来的5件事 (译)
  5. javascript select option对象总结
  6. js只能输入数字[价格等]
  7. wifi p2p连接 linux,Wi-Fi p2p ap 共存
  8. idea 一键部署 cloudtoolkit
  9. C++---list(列表)模板
  10. 【UML】概念、关联、画画(一)
  11. 自抗扰控制器七-二阶 LADRC-PLL 结构设计
  12. page cache和buffer cache之间的关系以及验证
  13. 关闭windows默认共享
  14. 我的世界boat运行库JAVA10_boat运行库导入下载
  15. android7 显示到pc,安卓手机上的画面怎么投屏到Win7电脑上?超详细投屏方法看这里!...
  16. 天大计算机英语面试,天大考研复试英文自我介绍
  17. PMP考点梳理大全(考生必看)-6.5
  18. jasperReport字体自定义,微软雅黑
  19. SAR成像系列:【4】合成孔径雷达(SAR)距离历程分析
  20. 计算机联锁工程设计的必要性和目的,计算机联锁系统工程设计的分析

热门文章

  1. 动态数组的各种操作 0104 c#
  2. 吃货阶段02 商品类的定义 需求 0925
  3. HTML5新增标签 0303
  4. 新买的内置光驱读取光盘有杂音的解决办法
  5. 洛谷——P1478 陶陶摘苹果(升级版)
  6. linux make使用技巧
  7. PostgreSQL 逻辑订阅 - 给业务架构带来了什么希望?
  8. Spring Boot与RESTful API
  9. ArrayDeque 双端队列
  10. pure tornado -- table