【发布时间】:2016-03-08 13:43:14
【问题描述】:
我在 Windows 7 机器上运行 java 1.7.0_21,我尝试删除 ftp ubuntu-server 上的文件。以下代码 sn-p 显示了我的工作。奇怪的是,文件有读、写和执行权限。包含文件夹也是如此。当我询问 bPermisison 时,我收到了真实信息,但我无法删除此文件.... replyString 给出错误 550 权限被拒绝。 相同的代码被剪断(和实现)在另一个 ftp 服务器上运行良好。 我搜索了很长时间,但我没有找到任何提示。有人知道出了什么问题吗?
感谢您的帮助。
String sFilePath = FileUtil.concatPath(sParamRemotedir, oFTPFile.getName(), "/");
boolean bPermission = FTPFile.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION);
boolean bDeleted = oFTPClient.deleteFile(sFilePath);
sReplyString = oFTPClient.getReplyString();
if(bRetrieveOK && !bDeleted) {
m_oDialogError.show(ErrorText.ERROR_TRASYSTHREAD_FTPMOVE_DELETEERROR, oFTPFile.getName(), oFTPClient.getReplyString());
bOK = false;
}
【问题讨论】:
-
您是否使用标准 ftp 客户端检查过您的服务器行为?
-
是的,我做到了。当我尝试使用 filezilla 删除 ftp 文件时,我无法使用该用户删除它。即使我用root登录,也没办法。包含文件夹的权限为 777...
-
所以绝对不是Java问题。您的 FTP 服务器配置一定有问题。请看那里。
-
是的!你的第一个问题让我大开眼界。我每次都尝试用腻子删除文件,这很有效……很清楚,因为腻子没有通过 ftp 协议和端口连接。然后,当我尝试使用 ftp 客户端(filezilla)时,我看到了结果。原因是.. ftp 服务器配置没有所需的写入权限... 非常感谢您的提示。这是正确的观点,