2015-12-07 2 views
-2

я пытаюсь запустить следующий код для FTP в Java, но я получаю ошибку пожалуйста, помогите мне определить егоFTP Ошибка передачи файла

public class FTPUploadFileDemo { 

public static void main(String[] args) { 

    String server = "localhost"; 
    int port = 21; 
    String user = "username"; 
    String pass = "password"; 

    FTPClient ftpClient = new FTPClient(); 
    try { 

     ftpClient.connect(server, port); 
     ftpClient.login(user, pass); 
     ftpClient.enterLocalPassiveMode(); 

     ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 

     // APPROACH #1: uploads first file using an InputStream 
     File firstLocalFile = new File("C:/Users/un/workspace/Test.txt"); 

     String firstRemoteFile = "t1.txt"; 
     InputStream inputStream = new FileInputStream(firstLocalFile); 

     System.out.println("Start uploading first file"); 
     boolean done = ftpClient.storeFile(firstRemoteFile, inputStream); 
     inputStream.close(); 
     if (done) { 
      System.out.println("The first file is uploaded successfully."); 
     } 


     File secondLocalFile = new File("C:/Users/un/workspace/Test.txt"); 
     String secondRemoteFile = "t2.txt"; 
     inputStream = new FileInputStream(secondLocalFile); 


     OutputStream outputStream = ftpClient.storeFileStream(secondRemoteFile); 
     byte[] bytesIn = new byte[4096]; 
     int read = 0; 

     while ((read = inputStream.read(bytesIn)) != -1) { 
      outputStream.write(bytesIn, 0, read); 
     } 
     inputStream.close(); 
     outputStream.close(); 

     boolean completed = ftpClient.completePendingCommand(); 
     if (completed) { 
      System.out.println("The second file is uploaded successfully."); 
     } 

    } catch (IOException ex) { 
     System.out.println("Error: " + ex.getMessage()); 
     ex.printStackTrace(); 
    } finally { 
     try { 
      if (ftpClient.isConnected()) { 
       ftpClient.logout(); 
       ftpClient.disconnect(); 
      } 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
}} 

выше программа показывает следующее сообщение об ошибке:

Ошибка: Соединение отклонено: подключение java.net.ConnectException: Соединение отклонено: подключение

Пожалуйста, руководство меня, как решить это

ответ

0

Если вы получили это сообщение об ошибке ftpClient.connect(server, port);, это означает, что ваш ftp-сервер настроен неправильно и не принимает локальную связь; ваш FTP-сервер локальный или это для этого примера?

+0

мой ftp-сервер является локальным, я пытаюсь перенести его локально в свою систему, поэтому я написал localhost, – techsavvy

+0

Итак, сначала вы должны проверить конфигурацию своего FTP-сервера. Попытайтесь подключиться к нему с помощью FTP-клиента (например, Filezilla или зарегистрировать оболочку вашей ОС, если она содержит протокол FTP), чтобы проверить ее. Если он не работает, вы должны изменить конфигурацию сервера FTP, чтобы разрешить локальную связь (или, по крайней мере, связь). Чтобы проверить, вы должны указать очень простое имя пользователя и пароль для подключения к вашему FTP-серверу («имя пользователя» и «пароль», как упоминалось в вашем первом сообщении, может быть хорошей идеей, если вы дали нам поддельные учетные данные) –

+0

Спасибо за ответ но я уже пробовал это, filezilla, я указал имя хоста как «localhost» и пароль имени пользователя моей учетной записи, но он дает следующую ошибку: попытка подключения завершилась неудачей с «ECONNREFUSED - соединение отказано сервером», попробовав следующий addres – techsavvy

Смежные вопросы