【问题标题】:FTPClient can't open file, no such file or directoryFTPClient 无法打开文件,没有这样的文件或目录
【发布时间】:2012-06-27 22:07:16
【问题描述】:

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

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

【问题讨论】:

  • 刚刚尝试过,我得到了“IOException:在复制时捕获。”有什么想法吗?
  • 答案是将 FileInputStream 移动到 for 循环中。现在它说文件已传输,但它仍然不在 FTP 服务器上。没看懂
  • 我的错,FileZilla 只是重新加载速度很慢,文件在那里

标签: java android ftp ftp-client


【解决方案1】:

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

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

1.更改:

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

到:

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

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

new FileInputStream(files);

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 2023-04-06
    • 2019-04-07
    • 2017-05-04
    • 2021-08-11
    • 2021-11-05
    相关资源
    最近更新 更多