как получить доступ или показать список файлов, доступных на ftp-сервере в Java

#java #servlets #ftp

#java #сервлеты #ftp

Вопрос:

Я хочу показать список файлов, доступных на ftp-сервере я работаю с некоторым демонстрационным FTP-сервером, но он не работает, он показывает некоторую ошибку, я должен получить список всех файлов, доступных на ftp-сервере вот код

   public class getFTPfileList {
    public static void main(String[] args) {
    FTPClient client = new FTPClient();
    try {
        client.connect("ftp.javacodegeeks.com");
        client.login("username", "password");
        FTPFile[] files = client.listFiles();
        for (FTPFile ftpFile : files) {
            if (ftpFile.getType() == FTPFile.FILE_TYPE) {
                System.out.println("File: "
                          ftpFile.getName()
                          "size-> "
                          FileUtils.byteCountToDisplaySize(ftpFile
                                .getSize()));
            }

        }

        client.logout();

    } catch (IOException e) {

        e.printStackTrace();

    } finally {

        try {

            client.disconnect();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

}
  

Сообщение об ошибке, показывающее:

 java.net.UnknownHostException: ftp.javacodegeeks.com
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:184)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:273)
at com.journaldev.servlet.getFTPfileList.main(getFTPfileList.java:21)
  

Комментарии:

1. он показывает какую-то ошибку , какую ошибку???

2. Где находятся строки ошибок, которые вы получили?

3. Верны ли учетные данные? Пожалуйста, предоставьте дополнительную информацию о проблеме

4. теперь я не могу перейти на live host, у меня есть только это, которое я нашел на каком-то веб-сайте, поэтому, вероятно, учетные данные верны..

5. можете ли вы выполнить пинг ftp.javacodegeeks.com с компьютера разработчика? кажется, что хост недоступен. вы также можете попробовать с IP-адресом

Ответ №1:

Кажется, что ваш FTP-хост либо недоступен, либо имя хоста неверно и не разрешено как имя хоста.

Смотрите здесь: SocketClient#connect(строковое имя хоста)

Примечание: попробуйте использовать IP-адрес хост-сервера и пропингуйте его, чтобы проверить, открыт он или нет.