Java FTP客户端检查权限

Java FTP客户端检查权限,java,apache,apache-commons-net,Java,Apache,Apache Commons Net,如果我有一个ftp服务器,我想上传文件到它,我如何使用检查其权限 我尝试: ftpClient = new FTPClient(); ftpClient.connect(url.getHost()); ftpClient.login(username, pass); FTPFile[] directories = mFtpClient.listDirectories("/"); for(FTPFile dir : directories) { permissions = dir.ha

如果我有一个ftp服务器,我想上传文件到它,我如何使用检查其权限

我尝试:

ftpClient = new FTPClient();
ftpClient.connect(url.getHost());

ftpClient.login(username, pass);

FTPFile[] directories = mFtpClient.listDirectories("/");
for(FTPFile dir : directories) {
    permissions = dir.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION);
}
但是它没有获得根服务器(文件夹)的权限,而是获得其子文件夹的权限

我是否可以像url那样指定并获取我是否具有写入权限?还是像url一样

感谢使用Commons Net 3.1类,您可以通过发出以下命令尝试获取当前FTPFile

 FTPFile current = mFTPClient.listFiles(".")[0];
 // Then check permissions as your upper code does.
毕竟,在大多数主机上,当前文件可以通过“.”访问

根据评论编辑一些澄清

假设您刚刚连接到FTP服务器(在尝试上载文件之前):

完成后,立即尝试访问当前文件夹(该文件夹应为默认用户文件夹,即您要上载文件的文件夹):

在此文件夹中,读取权限,您将拥有根文件夹的权限:

current.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION);
想写点什么吗?然后检查写入权限。

使用Commons Net 3.1类,您可以通过发出以下命令尝试获取当前FTPFile

 FTPFile current = mFTPClient.listFiles(".")[0];
 // Then check permissions as your upper code does.
毕竟,在大多数主机上,当前文件可以通过“.”访问

根据评论编辑一些澄清

假设您刚刚连接到FTP服务器(在尝试上载文件之前):

完成后,立即尝试访问当前文件夹(该文件夹应为默认用户文件夹,即您要上载文件的文件夹):

在此文件夹中,读取权限,您将拥有根文件夹的权限:

current.hasPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION);

想写点什么吗?然后检查写入权限。

您正在使用哪个FTP客户端库?它是一个吗?是父目录“.”listDirectories方法返回的FTP文件之一?您使用的是哪个FTP客户端库?是一个吗?是父目录“.”listDirectories方法返回的FTPFiles之一?让我更清楚地说明一下。如果我想将文件上载到-如何检查我在服务器(该主机是服务器的根)上是否有权限将文件存储在那里?让我更清楚地说明一下。如果我想将文件上载到-如何检查我在服务器(该主机是服务器的根)上是否有权限将文件存储在那里?