ToB企服应用市场:ToB评测及商务社交产业平台

标题: 03-Java框架FTPClient 使用rename()移动文件和文件重定名 [打印本页]

作者: 曂沅仴駦    时间: 2024-5-16 09:34
标题: 03-Java框架FTPClient 使用rename()移动文件和文件重定名
1 需求

由于业务种种原因,如今必要将ftp中已存文件移动到其它文件夹。
2 初始计谋

一开始走上弯路,直接翻看FTPClient API有无move方法,但没发现:

于是曲线救国,想着接纳先复制、再删除,伪代码:
  1. InputStream inputStream = ftpClient.retrieveFileStream("/AAA/test.txt");
  2. ftpClient.storeFile("/BBB/test.txt", inputStream);
  3. ftpClient.deleteFile("/AAA/test.txt");
复制代码
但不优雅,多步操纵易出各种问题,最好有方法一步调用。
3 最佳方案

3.1 移动文件

突然发现rename()可实现该需求,这谁看的出来能够移动文件呢?
一行搞定需求:
  1. ftpClient.rename("/AAA/test.txt", "/BBB/test.txt"); // 绝对路径
复制代码
还支持相对路径
  1. ftpClient.rename("CCC/test.txt", "DDD/test.txt");
复制代码
还可绝对路径和相对路径一起用
  1. ftpClient.rename("/EEE/test.txt", "FFF/test.txt");
复制代码
绝对路径是以"/"开头的路径,相对路径是不以"/"开头的路径,关于两者的区别可以参考java FTPClient中的相对路径和绝对路径这篇文章,以免踩坑
3.2 重定名

只是目标文件夹和源文件夹名同等,只是改了文件名
  1. ftpClient.rename("/AAA/test.txt", "/AAA/test2.txt"); // 绝对路径
复制代码
关注我,紧跟本系列专栏文章,咱们下篇再续!
作者简介:魔都技能专家,多家大厂后端一线研发经验,在分布式系统、和大数据系统等方面有多年的研究和实践经验,拥有从零到一的大数据平台和底子架构研发经验,对分布式存储、数据平台架构、数据仓库等领域都有丰富实践经验。
各大技能社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和办理方案的积聚。
负责:
目前主攻低落软件复杂性设计、构建高可用系统方向。
参考:
本文由博客一文多发平台 OpenWrite 发布!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4