我一直在尝试通过FTPClient将文件发送到ftp服务器,但是当我收到回复字符串时,它说:
553无法打开文件:没有此类文件或目录。
以下是代码:
try
{
FTPClient client = new FTPClient();
client.connect(hostname);
client.login(username, password);
client.setFileType(FTP.BINARY_FILE_TYPE);
client.enterLocalPassiveMode();
client.changeWorkingDirectory(workingDir);
File dir = new File(savePath + fileName);
FileInputStream fIS = new FileInputStream(dir);
for(File files : dir.listFiles())
{
boolean success = client.storeFile(files.getPath(), fIS);
Toast.makeText(getBaseContext(), client.getReplyString(), Toast.LENGTH_LONG).show();
Toast.makeText(getBaseContext(), files.getPath() + " Stored = " + success, Toast.LENGTH_LONG).show();
}
fIS.close();
client.logout();
}
catch (SocketException e)
{
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
catch (IOException e)
{
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
我一直在互联网上寻找答案但没有任何效果。
答案 0 :(得分:1)
我在CoolBeans的帮助下解决了这个问题。
对于有类似问题的人,解决方案是
1.更改:
client.storeFile(files.getPath(), fIS);
为:
client.storeFile(files.getName(), fIS);
将FileInputStream移动到for循环中并将其更改为:
new FileInputStream(files);