public classFTPUtils {private static final Logger LOG = LoggerFactory.getLogger(FTPUtils.class);/*** 获取FTPClient对象

*

*@paramftpHost FTP主机服务器

*@paramftpPassword FTP 登录密码

*@paramftpUserName FTP登录用户名

*@paramftpPort FTP端口 默认为21

*@return

*/

private staticFTPClient getFTPClient(String ftpHost, String ftpPassword,

String ftpUserName,int ftpPort) throwsIOException {

FTPClient ftpClient= null;

ftpClient= newFTPClient();

ftpClient.connect(ftpHost, ftpPort);//连接FTP服务器

ftpClient.login(ftpUserName, ftpPassword);//登陆FTP服务器

if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {

LOG.info("未连接到FTP,用户名或密码错误。");

ftpClient.disconnect();

}else{

LOG.info("FTP连接成功。");

}returnftpClient;

}/*** 去 服务器的FTP路径下上读取文件

*

*@paramftpPath

*@param*@return

*/

public static ListreadConfigFileForFTP(String ftpPath, String ftpHost, String ftpPassword,

String ftpUserName,intftpPort) {

InputStream in;

FTPClient ftpClient= null;try{

ftpClient=getFTPClient(ftpHost, ftpPassword, ftpUserName, ftpPort);

List list = new ArrayList<>();

LOG.info("开始读取绝对路径" + ftpPath + "文件!");try{

ftpClient.setControlEncoding("UTF-8"); //中文支持

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpClient.enterLocalPassiveMode();

ftpClient.changeWorkingDirectory(ftpPath);

FTPFile[] ftpFiles=ftpClient.listFiles(ftpPath);for(FTPFile file : ftpFiles) {

String name=file.getName();

in= ftpClient.retrieveFileStream(new String(name.getBytes("UTF-8"), "ISO-8859-1"));if (in != null) {

StringBuffer resultBuffer= newStringBuffer();

BufferedReader br= new BufferedReader(newInputStreamReader(in));

String data;try{while ((data = br.readLine()) != null) {

resultBuffer.append(data);

}

String string=resultBuffer.toString();

JSONArray jsonArray=JSONArray.parseArray(string);

list.add(jsonArray);

in.close();boolean flag =ftpClient.deleteFile(name);if(flag) {

System.out.println("删除文件成功");

}

ftpClient.completePendingCommand();

}catch(IOException e) {

LOG.error("文件读取错误。");

e.printStackTrace();

}

}else{

LOG.error("in为空,不能读取。");

}

}

}catch(FileNotFoundException e) {

LOG.error("没有找到" + ftpPath + "文件");

e.printStackTrace();

}catch(SocketException e) {

LOG.error("连接FTP失败.");

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

LOG.error("文件读取错误。");

}returnlist;

}catch(SocketException e) {

LOG.info("FTP的IP地址可能错误,请正确配置。");

}catch(IOException e) {

LOG.info("FTP的端口错误,请正确配置。");

}return null;

}/*** * 删除文件 *

*

*@parampathname FTP服务器保存目录 *

*@paramfilename 要删除的文件名称 *

*@return

*/

private static voiddeleteFile(String pathname, String filename, FTPClient ftpClient) {try{

System.out.println("开始删除文件");//切换FTP目录

ftpClient.changeWorkingDirectory(pathname);boolean flag =ftpClient.deleteFile(filename);

ftpClient.logout();if(flag) {

System.out.println("删除文件成功");

}

}catch(Exception e) {

System.out.println("删除文件失败");

e.printStackTrace();

}finally{if(ftpClient.isConnected()) {try{

ftpClient.disconnect();

}catch(IOException e) {

e.printStackTrace();

}

}

}

}

}

FTPClient删除linux文件夹,使用ftp读取文件夹中的多个文件,并删除相关推荐

  1. python读文件每一行-Python文件内容按行读取到列表中

    Python文件内容按行读取到列表中 示例文件内容如下: Hello World Python 通常来讲,我们如果只是迭代文件对象每一行,并做一些处理,是不需要将文件对象转成列表的,因为文件对象本身可 ...

  2. 服务器ftp文件不能共享文件夹权限,ftp服务器共享文件夹权限设置

    ftp服务器共享文件夹权限设置 内容精选 换一换 已成功登录Java性能分析.待安装分析辅助软件的服务器已开启sshd.Java性能分析优先选用非交互shell(non-interactive she ...

  3. W ndoWs文件夹窗口,如何在本地网络中访问-Synology-NAS-上的文件-(Wndows).pdf

    如何在本地网络中访问-Synology-NAS-上的文件-(Wndows) 如何在本地网络中访问 Synology NAS 上的文件 (Windows) 概述 Synology NAS 经过专门设计, ...

  4. python从文件中读取数据_Python3 中把txt数据文件读入到矩阵中的方法

    下面为大家分享一篇Python3 中把txt数据文件读入到矩阵中的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1.实例程序: ''' 数据文件:2.txt内容:(以空格分开每个数据) ...

  5. android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果

    使用几个月的IOS之后,发现IOS中侧滑删除俺就 大家好,自己开始学习Android已经差不多半年了吧,前前后后看了不少的博客获益匪浅.渐渐的随着技术的提升,慢慢感觉网上其它的一些功能的实现又不是那么 ...

  6. bugku 神秘的文件(问题:在选定的档案中没有匹配的文件)

    解压缩包,压缩包有两个文件,一个是加密的压缩包,另一个是图片并且这个图片存在于flag.zip压缩包里. 这时我们可以想到明文攻击,将png图片同样压缩(与加密的文件要同类型)作为秘钥.(推荐用Win ...

  7. python文件合法模式组合_以下选项中,不是Python文件二进制打开模式的合法组合是...

    以下选项中,不是Python文件二进制打开模式的合法组合是 答:\"x+\" 建立良好的谈判气氛主要是在( )阶段 答:开局 the ruling class had long b ...

  8. 如何查找视频文件 android,如何扫描出android手机中所有的视频文件

    不说废话,直接上代码: public static List allVideoList = null;// 视频信息集合 allVideoList = new ArrayList(); getVide ...

  9. java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...

    windows环境下使用 public static void dowmloadFtpWindos(String fileUuid, HttpServletRequest request,HttpSe ...

  10. Springboot读取jar包中的MANIFEST.MF文件内容

    Springboot打包成可执行jar包后,包结构如下所示: 工程编译后的文件都在BOOT-INF/classes目录下,如果需要读取并显示META-INF/MANIFEST.MF文件内容,那么可以用 ...

最新文章

  1. 集成的分层强化学习,让人工智能在解决智能问题时表现得更聪明
  2. PHP7 学习笔记(七)如何使用zephir编译一个扩展记录
  3. Unity游戏暂停之Update与FixedUpdate区别
  4. android视频播放指定位置,android – 如何在某个特定位置的视图中查看视频?
  5. Python3 列表的基本操作
  6. python pandas sqlserver_python学好了还可以用到SSIS上,将Python的能力嫁接到SSIS中
  7. cbow word2vec 损失_word2vec是如何得到词向量的?
  8. canvas换图时候会闪烁_Canvas实现图片上标注、缩放、移动和保存历史状态,纯干货(附CSS 3变化公式)...
  9. python 建筑计算_制图小技巧:巧用Python和ELK瞬间完成总图建筑名称标注
  10. Linux下update和upgrade的区别
  11. 鸿蒙有什么好处,鸿蒙系统有什么好处-鸿蒙系统有什么用-鸿蒙系统有什么区别...
  12. java 文件比对(四)-- 使用 diffutils
  13. 腾讯云OSS使用指南
  14. 【人类历史】从食物采集者到食物生产者
  15. 采用sFlow工具实现流量监控--实验
  16. 【printf】打印数值、打印二进制、打印十六进制、sprintf
  17. win10系统对计算机要求,使用win10系统,你需要掌握的5个技巧
  18. 基于matlab的pcm设计实验报告,基于MATLAB的PCM系统仿真课程设计
  19. stcoder Splatter Painting 记忆化搜索
  20. 清华北大2021毕业生就业报告出炉!清华博士0人出国,70%进体制

热门文章

  1. HDU 6274 Master of Sequence (暴力+下整除)
  2. Centos 7 修改时区
  3. 解决移动端 footer fixd 定位被键盘顶起来的方案
  4. elasticsearch的java搜索语法
  5. Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源代码实现
  6. CentOS6.6安装cobbler
  7. 乱七八糟 Nodejs 系列一:试水
  8. IE7 绝对定位z-index问题
  9. .NET方向高级开发人员面试时应该事先考虑的问题
  10. 浏览器Html 5兼容性测试