Java Android FTP更改目录失败

Java Android FTP更改目录失败,java,android,ftp,directory,android-external-storage,Java,Android,Ftp,Directory,Android External Storage,我正在使用ftp4j库使用android上的FTPClient将文本文件从android上传到通过Wifi连接的本地网络 如果我没有更改目录,则默认目录为storage/emulated/0 但如果我尝试client.changeDirectory(Environment.getExternalStorageDirectory().getPath())它会捕获异常“更改目录失败”。我想从外部文件夹目录上传文件,如DCIM、Downloads、Bluetooth文件夹(就像从PC浏览android

我正在使用ftp4j库使用android上的FTPClient将文本文件从android上传到通过Wifi连接的本地网络

如果我没有更改目录,则默认目录为
storage/emulated/0

但如果我尝试
client.changeDirectory(Environment.getExternalStorageDirectory().getPath())
它会捕获异常“更改目录失败”。我想从外部文件夹目录上传文件,如DCIM、Downloads、Bluetooth文件夹(就像从PC浏览android一样)

编辑:

似乎我对自己感到困惑,在我记录getExternalStorageDirectory()之后,它返回了
/storage/emulated/0/
,因此无需更改目录

现在ftp4j异常更改为“无法创建文件”

11-14 10:59:24.936:E/UploadFTP(1764):it.sauronsoftware.ftp4j.FTPException[代码=553,消息=无法创建文件。]

您可能没有远程文件夹的写入权限。请检查您登录的ftp用户是否具有该目录的写入权限。如果没有,请对其授予写入权限。如果是类unix系统,请尝试更改权限,如以下命令所示:

chmod +w folder

你不需要先创建目录吗?试试这个

client.createDirectory("/"+Environment.getExternalStorageDirectory().getPath()+"/");
client.changeDirectory("/"+Environment.getExternalStorageDirectory().getPath()+"/");
如果这对你有用,请告诉我

client.createDirectory("/"+Environment.getExternalStorageDirectory().getPath()+"/");
client.changeDirectory("/"+Environment.getExternalStorageDirectory().getPath()+"/");