2012-06-27 3 views
1

Я пытался отправить файл на сервер FTP через FTPClient, но когда я получаю строку ответа он говорит:FTPClient не может открыть файл, нет такого файла или каталога

553 Can» t открыть файл: нет такого файла или каталога.

Вот код:

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

Только что попробовал что теперь я получил «IOException: пойман во время копирования». Любые идеи? – kamden

+0

Ответ должен был переместить FileInputStream внутри цикла for. теперь это файл, который был перенесен, но он все еще не находится на FTP-сервере. Я не получаю это – kamden

+0

Мой плохой, FileZilla просто медленно перезагружается, файлы там – kamden

ответ

1

Я исправил проблему с помощью CoolBeans.

Для тех, кто с подобной проблемой решение

1.Change:

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

к:

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

И переместить FileInputStream в течение петли и изменить его :

new FileInputStream(files); 
Смежные вопросы