1

我一直在尝试通过 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();
}

我一直在互联网上寻找答案,但没有任何效果。

4

1 回答 1

1

我在 CoolBeans 的帮助下解决了这个问题。

对于任何有类似问题的人,解决方案是

1.更改:

client.storeFile(files.getPath(), fIS);

到:

client.storeFile(files.getName(), fIS);

并将 FileInputStream 移动到 for 循环中并将其更改为:

new FileInputStream(files);
于 2012-06-28T11:24:28.390 回答