java实现FTP远程文件移动(重命名、复制、拷贝)
首先就标题说明一点,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方法时,又必须把它们转换回原来的编码。
相关文档:
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......
Debug透视图
http://www.cnblogs.com/Jamesliang/archive/2010/01/09/1643188.html
当点击Debug按钮时,Eclipse会提示你进入 Debug透视图。可以在右上方Expressions窗口点击鼠标右键在弹出菜单中选择 Add Watch Expression 或者点击如下图所示按钮则会出现,添加表达式窗口。你可以输入你 ......
Long long ago in a galaxy far,far away......
HakunaMatata
主页博客相册|个人档案 |好友
查看文章
为什么要设置JAVA_HOME&Path&CLASSPATH&CATALINA_HOME
2008-01-19 14:26
首先得介绍下面几个参数的作用:
current directory(当前目录):
当前在用的目录 ......
在所有组件都放到JFrame之后,先setSize(),然后再setVisible() 。
设置了窗口的Size,布局管理器才能为各个组件安排合适的位置,之后再把窗体显示出来setVisible(),比如你还不知道厂房的大小,这时就无法决定设备安放的位置。 ......
Integer n1 = new Integer(1);
Integer n2 = new Integer(1);
System.out.println(n1==n2); // false
Integer n1 = new Integer(3);
Integer n2 = new Integer(3);
System.out.println(n1.equals(n2)); //true
equals()默认也是比较reference,但是Java中的class覆盖了equals()方法 ......