前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >03-Java框架FTPClient 使用rename()移动文件和文件重命名

03-Java框架FTPClient 使用rename()移动文件和文件重命名

作者头像
JavaEdge
发布2024-05-25 14:51:40
1040
发布2024-05-25 14:51:40
举报
文章被收录于专栏:JavaEdgeJavaEdge

1 需求

由于业务种种原因,现在需要将ftp中已存文件移动到其它文件夹。

2 初始策略

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

于是曲线救国,想着采用先复制、再删除,伪代码:

代码语言:javascript
复制
InputStream inputStream = ftpClient.retrieveFileStream("/AAA/test.txt");
ftpClient.storeFile("/BBB/test.txt", inputStream);
ftpClient.deleteFile("/AAA/test.txt");

但不优雅,多步操作易出各种问题,最好有方法一步调用。

3 最佳方案

3.1 移动文件

突然发现rename()可实现该需求,这谁看的出来能够移动文件呢?

一行搞定需求:

代码语言:javascript
复制
ftpClient.rename("/AAA/test.txt", "/BBB/test.txt"); // 绝对路径

还支持相对路径

代码语言:javascript
复制
ftpClient.rename("CCC/test.txt", "DDD/test.txt");

还可绝对路径和相对路径一起用

代码语言:javascript
复制
ftpClient.rename("/EEE/test.txt", "FFF/test.txt");

绝对路径是以"/"开头的路径,相对路径是不以"/"开头的路径,关于两者的区别可以参考java FTPClient中的相对路径和绝对路径这篇文章,以免踩坑

3.2 重命名

只是目标文件夹和源文件夹名一致,只是改了文件名

代码语言:javascript
复制
ftpClient.rename("/AAA/test.txt", "/AAA/test2.txt"); // 绝对路径

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都技术专家,多家大厂后端一线研发经验,在分布式系统、和大数据系统等方面有多年的研究和实践经验,拥有从零到一的大数据平台和基础架构研发经验,对分布式存储、数据平台架构、数据仓库等领域都有丰富实践经验。 各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。 负责:

  • 中央/分销预订系统性能优化
  • 活动&优惠券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化 目前主攻降低软件复杂性设计、构建高可用系统方向。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 需求
  • 2 初始策略
  • 3 最佳方案
    • 3.1 移动文件
      • 3.2 重命名
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档