首页 > 编程语言 >03-Java框架FTPClient 使用rename()移动文件和文件重命名

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

时间:2024-04-04 17:33:06浏览次数:27  
标签:rename 文件 AAA 03 绝对路径 test txt ftpClient

1 需求

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

2 初始策略

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

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

InputStream inputStream = ftpClient.retrieveFileStream("/AAA/test.txt");
ftpClient.storeFile("/BBB/test.txt", inputStream);
ftpClient.deleteFile("/AAA/test.txt");

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

3 最佳方案

3.1 移动文件

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

一行搞定需求:

ftpClient.rename("/AAA/test.txt", "/BBB/test.txt"); // 绝对路径

还支持相对路径

ftpClient.rename("CCC/test.txt", "DDD/test.txt");

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

ftpClient.rename("/EEE/test.txt", "FFF/test.txt");

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

3.2 重命名

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

ftpClient.rename("/AAA/test.txt", "/AAA/test2.txt"); // 绝对路径

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

作者简介:魔都技术专家,多家大厂后端一线研发经验,在分布式系统、和大数据系统等方面有多年的研究和实践经验,拥有从零到一的大数据平台和基础架构研发经验,对分布式存储、数据平台架构、数据仓库等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&优惠券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化

目前主攻降低软件复杂性设计、构建高可用系统方向。

参考:

本文由博客一文多发平台 OpenWrite 发布!

标签:rename,文件,AAA,03,绝对路径,test,txt,ftpClient
From: https://www.cnblogs.com/JavaEdge/p/18114406

相关文章

  • 教你轻松批量重命名文件夹名称
    在信息化社会的时代,我们每天都在与大量的文件和文件夹打交道。随着时间的推移,这些文件和文件夹的名称可能变得千奇百怪,给我们的日常管理和使用带来诸多不便。此时,如果有一种方法能够轻松批量重命名文件夹名称,那无疑是一件极具价值的事情。今天小编就要实现这个价值,并教给给各位......
  • 系统调用(1)什么是文件描述符
    1.文件描述符系统调用IO也叫文件IO标准IO依赖于系统IO文件描述符是在文件IO中贯穿始终的类型。文件描述符(整型数,数组下标)文件描述符是数组下标,之前我们曾经做过一个实验,不停的fopen打开文件,最多只能打开1021个,再加上三个(标准输出,标准输入,标准出错);一共1024个这个1024就......
  • 算法 哈希表 day03
    哈希表当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。牺牲了空间换取了时间当我们想使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构。数组set(集合)map(映射)第一题:242.有效的字母异位词-力扣(LeetCode)//暴力publicstaticboo......
  • 韩顺平老师java坦克大战一些需要用到的东西(音乐文件、爆炸图片、音乐代码)(免费的!!!)
    首先非常感谢韩顺平老师的这个项目,虽然断断续续的完成了,但是收获很大,很有帮助。我的这些资源也是从别人那个弄来的,但是这个是整合版的。//音乐播放代码importjavax.sound.sampled.*;importjava.io.*;publicclassPlayAudioextendsThread{privateStringfi......
  • HttpClient 下载文件
    privatestaticasyncTaskDownloadFile(stringurl,stringfilePath){varprogressMessageHandler=newProgressMessageHandler(newHttpClientHandler());HttpRequestMessagehttpRequestMessage=new(){Method=HttpMethod.Get,Re......
  • 【Linux】Ubuntu 文件权限管理
    Linux系统对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功,这也是Linux有别于Windows的机制,也是基于这个权限机制,Linux可以有效防止病毒自我运行。因为运行的条件是必须要有运行的权限,而这个权限在Linux是用户所赋予的。文件权......
  • 在Linux中,文件和目录的权限有何作用以及如何修改?
    在Linux系统中,文件和目录的权限起着至关重要的作用,它们决定了哪些用户可以访问、修改或执行特定的文件或目录。这些权限确保了系统的安全性和稳定性,同时允许用户有效地管理他们的数据和资源。权限的作用:文件权限:读(r):允许用户查看文件的内容。写(w):允许用户修改文件的内容,包括添......
  • C语言中的文件和文件操作
    目录为什么使用文件什么是文件二进制文件和文本文件文件的打开和关闭文件的顺序读写文件的随机读写文件读取结束的判定文件缓冲区为什么使用文件 我们在写程序的时候会发现,在程序执行的过程中,变量在内存中开辟空间,并设置值,但是程序运行结束后,内存空间就会被回收,值......
  • 2024.03.31新生考核Web部分 writeup
    2024.03.31新生考核Web部分writeup1.Web1考察点:burpsuite使用、http基本信息打开实例,可以看到一个网页:查看源码、cookie后无果,发现当前网页文件为inbex.php,与平常做题时默认访问的页面index.php不同,故在网址栏访问index.php。发现无论怎么访问,页面都会回到inbex.php。此......
  • 恶意下载文件
     在响应体中出现以下字段:Content-Type:application/octet-stream————————————————————————在某些下载文件的场景中,服务端可能会返回文件流,并在返回头中带上Content-Type:application/octet-stream,告知浏览器这是一个字节流,浏览器处理字节流的默......