最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

ftp服务器上文件移动失败(ftpClient.rename返回false)

IT圈 admin 5浏览 0评论

ftp服务器上文件移动失败(ftpClient.rename返回false)

需求

我在项目中需要在ftp服务器上移动文件,操作过程是:

(1)先连接上ftp服务器,

(2)切换到需要相应的工作目录 :

ftpClient.changeWorkingDirectory(downloadPath);

(3)将文件所在目录重命名(很机智的方式),相当于文件移动:

//注意的oldFileName和newFileName也是相对目录

ftpClient.rename(oldFileName, newFileName);

(1)相对路径问题:changeWorkingDirectory每次都是根据当前相对目录进行目录切换,比如你刚开始进来时候目录为"/home/lcl",执行一次ftpClient.changeWorkingDirectory("a"),那么ftp的当前工作目录就是"/home/lcl/a",如果再执行一次ftpClient.changeWorkingDirectory("b"),那么目录就变为了"/home/lcl/a/b",而不是"/home/lcl/b"。

(2)权限问题:当你做读写包括文件移动,你连接到ftp服务器的用户需要对操作的文件夹和问价夹内的文件有操作权限。可通过"ls -al 文件夹名"来查询ftp用户对此文件夹的权限,如果权限不够需要chmod来赋予该ftp用户相应权限。

PS:如果你确保上面两点没有问题,还是不能移动文件,那么你就需要使用ftpClient.printWorkingDirectory()来查看当前工作目录确保自己的目录定位没有问题。


            
                

ftp服务器上文件移动失败(ftpClient.rename返回false)

需求

我在项目中需要在ftp服务器上移动文件,操作过程是:

(1)先连接上ftp服务器,

(2)切换到需要相应的工作目录 :

ftpClient.changeWorkingDirectory(downloadPath);

(3)将文件所在目录重命名(很机智的方式),相当于文件移动:

//注意的oldFileName和newFileName也是相对目录

ftpClient.rename(oldFileName, newFileName);

(1)相对路径问题:changeWorkingDirectory每次都是根据当前相对目录进行目录切换,比如你刚开始进来时候目录为"/home/lcl",执行一次ftpClient.changeWorkingDirectory("a"),那么ftp的当前工作目录就是"/home/lcl/a",如果再执行一次ftpClient.changeWorkingDirectory("b"),那么目录就变为了"/home/lcl/a/b",而不是"/home/lcl/b"。

(2)权限问题:当你做读写包括文件移动,你连接到ftp服务器的用户需要对操作的文件夹和问价夹内的文件有操作权限。可通过"ls -al 文件夹名"来查询ftp用户对此文件夹的权限,如果权限不够需要chmod来赋予该ftp用户相应权限。

PS:如果你确保上面两点没有问题,还是不能移动文件,那么你就需要使用ftpClient.printWorkingDirectory()来查看当前工作目录确保自己的目录定位没有问题。


                
                
            
发布评论

评论列表 (0)

  1. 暂无评论