【发布时间】:2018-09-14 11:25:18
【问题描述】:
我正在开发一个 android 应用程序并愿意通过 FTP 服务器重命名文件,但得到错误作为回报,请帮助代码有什么问题。代码如下
public boolean Rename(final FTPFile remoteFile, final String path, final String renameToo) throws IOException {
Log.e("Rename","Renaming file 1");
new AsyncTask<String,String,String>(){
@Override
protected String doInBackground(String... strings) {
Log.e("Rename","Renaming file 2");
client=new FTPClient();
try {
client.connect(host,port);
client.enterLocalPassiveMode();
if(client.getReplyCode()>-1){
boolean loginStatus=client.login(user,password);
if(loginStatus){
status=client.rename(path+"/"+remoteFile.getName(),renameToo);//always false ?
Log.e("Rename Status", String.valueOf(status));
}
}
} catch (IOException e) {
e.printStackTrace();
Log.e("Error", String.valueOf(e));
status=false;
}
finally {
if(client.isConnected()){
try {
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
}.execute();
return status;
}
【问题讨论】:
-
你应该告诉你的参数和路径的值,因为我们不知道你在做什么
-
更奇怪的是,您使用 FtpFile 实例但必须连接。
-
其他一切正常意味着连接等都可以,只是从这行 clien.login(filenamefrom,filenameto);此行总是返回 false
标签: java android apache-commons ftp-client