首先就标题说明一点,java使用org.apache.commons.net.ftp.ftpclient包来操作FTP是很爽滴,但对远程文件操作,好像没有实现

复制文件的方法。我用的是文件移动(move),把文件从一个文件夹移动到另外一个文件夹。

背景:

在action中操作远程FTP,实现文件移动。程序运行在本机,FTP是一个Linux服务器。

实现:

登录FTP并生成一个FTPClient对象如 fc,用方法rename(String1,String2)如下:

fc.rename(file.getName(), "../ScheduleList/"+file.getName());

说明:

把FTP上当前工作目录下的文件(file.getName()),移动到与当前目录平级的另一目录ScheduleList下。

如果你只是想更改名称,那就写成fc.rename(file.getName(), "newName");

移动文件只是在新文件名前加上路径,我设置了当前工作目录,所以这里用的是相对路径。

注意:

action操作FTP时一定要注意中文编码问题,在action中显示为正常汉字的,用rename不一定正确。

我的文件名是用FTPFile的getName获得的,在action中是乱码,所以用UTF-8转了一次,但是把转过码显示正常的文件名放在

rename方法中就不对了,方法识别不了,rename不成功。包括你使用changeWorkingDirectory("path")更改工作目录时也一样,带汉字的字符串必须转码之后再作为参数。当然,这个时候你会发现你看到的参数是一些乱码,但是这些方法却能用。也就是说,你把从FTP上得到的东西转成正常显示的汉字了,但当你放参数给FTP方法时,又必须把它们转换回原来的编码。

java代码ftp重命名未生效_java实现FTP远程文件移动(重命名、复制、拷贝) | 学步园...相关推荐

  1. java代码ftp重命名未生效_java使用apache commons连接ftp修改ftp文件名失败原因

    今天被ftp上中文名修改坑了好久 项目用的是 apache commons 里的 FtpClient 实现的对ftp文件的上传下载操作,今天增加了业务要修改ftp上的文件名,然后就一直的报错,问题是它 ...

  2. java代码如何写正则汉字规则_JAVA 正则表达式、汉字正则、 java正则代码

    1. 只有字母.数字和下划线且不能以下划线开头和结尾的正则表达式:^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$ 只有字母和数字的: ^[a-zA-Z0-9_]+$ 2. 至少一个汉字.数 ...

  3. node重命名文件名_利用Node.js对文件进行重命名

    前言 最近把博客换了皮肤,今天早上起来就开始捣鼓文件命名问题.hexo的文章基本都是生成在_post文件夹下,若文章多了以后就不好管理,所就打算以[日期+文章标题]为文件名: 更改前: 更改后: 文章 ...

  4. java中bean是什么_java中bean是什么意思?有什么作用 | 学步园

    Bean的中文含义是"豆子",顾名思义JavaBean是一段Java小程序.JavaBean实际上是指一种特殊的Java类,它通常用来实现一些比较常用的简单功能,并可以很容易的被重 ...

  5. java 显示多行歌词_Java Swing制作多行滚动歌词显示控件 | 学步园

    首先上图一张,为最终制作的效果图,不喜欢或感到失望的朋友可以先行离开 大家已经看到效果图了.那么下面就介绍设计思路和源代码 首先要想显示歌词,就要对歌词文件进行抽象.下面这个类是对某一行歌词文件进行了 ...

  6. jsp文件里java代码的作用_如何使用JSP 2避免JSP文件中的Java代码?

    小编典典 自从2001年标签库(例如JSTL)和EL(表达语言,那些东西)的诞生以来,在JSP中确实不建议使用scriptlet(那些东西).${} scriptlet的主要缺点是: 可重用性:您无法 ...

  7. java timer 使用_Java Timer的使用(timer.schedule定时执行) | 学步园

    Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复多次. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务. 简单的一个例程: J ...

  8. java代码没错却运行不了_Java代码没错误,tomcat能正常运行,但是我的项目主页却一直显示不了,显示404错误...

    重新在别人的电抄脑上配置一次环境变量bai 配置环境变量 点击du计算机->高级系zhi统设置->环境变量dao-> 在第一个中新建一个 变量:classpath 值:.;(记住是分 ...

  9. java代码限制短信发送次数_java如何实现发短息限制日发送次数代码

    1.数据表结构 因为需要记录整天的发送记录,所以在此把数据保存到数据库中. 数据表结构如下图所示: type为验证码的类型,例如注册.重置密码等,sendTime的默认值为当前时间. 2.限制日发送次 ...

最新文章

  1. HP DL380 G6安装Windows server 2003(有光驱和无光驱两种方法)
  2. 信号量与条件变量的区别
  3. 1.7 Java字符流的使用:字符输入/输出流、字符文件和字符缓冲区的输入/输出流
  4. boost::core模块实现np地址
  5. 如何表示数组所有数都不等于一个数_每日算法系列【LeetCode 330】按要求补齐数组...
  6. 由于不当的执行顺序导致的死锁
  7. mysql数据库设计学习---数据库设计规范化的五个要求
  8. layer调用父页面方法_Ruby for SketchUp之图层【Layer】
  9. 【MySQL】基于MySQL的SQL核心语法实战演练(三)
  10. 如何合理命名你的代码
  11. Information Retrieval --- Classification
  12. 【UVA10305】Ordering Tasks(拓扑排序)
  13. c语言的程序的基本示例
  14. iperf3网络测试工具下载网址
  15. 算法交易:华尔街怪兽的核武器
  16. 今天的码农女孩学习了关于python元祖和字典的知识以及结合前面学的知识做了四个小练习
  17. 工业相机基础知识详述 —— 焦平面,像平面,弥散圆,光圈,分辨率,景深,接口,靶面尺寸
  18. 统计APP下载量--发现安卓下载大文件使用多线程下载方式
  19. 致远oa服务器端口怎么修改,致远oa服务器设置
  20. 蚪侠-远程泛目录[泛域名+泛目录+泛内页]-[代码+汉字]干扰-字体繁简切换-蜘蛛欺骗-主动推送_镜像版-V25版

热门文章

  1. 深度优先搜索——自然数的拆分问题(洛谷 P2404)
  2. 线性表—线性表的合并
  3. 用matlab画图的好处,用matlab画图注意事项
  4. 跨考计算机报班,考研跨考的经验总结与分享
  5. java es 搜索_使用elasticsearch从多个列表中搜索
  6. python把文件读成字节流_Python中struct模块对字节流/二进制流的操作教程
  7. reentrantlock失效了?_ReentrantLock 源码简单分析
  8. 盘点2018:数据和云最受欢迎的十大精品文章
  9. STM32移植freemodbusRTU(hal库)从机
  10. Flask自定义时间过滤器