Java и FTP сервер - PullRequest
       12

Java и FTP сервер

0 голосов
/ 01 января 2012

У меня проблема с подключением к FTP-серверу. У меня есть приложение, которое должно читать данные из файлов. У меня есть код для поиска файлов на локальном диске, но я должен изменить его, потому что у меня есть все данные на FTP-сервере. На этот раз я использую:

FileChannel fc = new FileInputStream("C:/Data/" + nameFile)
                    .getChannel();

где nameFile - это имя моего файла. Я создаю канал, куда я загружаю данные из файла с локального диска. Могу ли я изменить этот код для поиска файлов на FTP-сервере?

Ответы [ 3 ]

2 голосов
/ 02 января 2012

Я не совсем понимаю ваш пост, но похоже, что вы ищете какой-то код, чтобы проверить, существует ли файл на удаленном FTP-сервере, верно?Если это так, то вам необходимо выполнить следующие действия:

  1. Подключиться к серверу и выполнить аутентификацию.

  2. Перейдите в каталог на удаленной системе

  3. Выполнение списка каталогов удаленной системы

  4. Проверьте, совпадает ли какой-либо из файлов в списке каталогов с файлом, который вы собираете.

Я успешно это сделал, используя Secure FTP Factory в http://www.jscape.com/products/components/java/secure-ftp-factory/

Пример кода

Ftp ftp = new Ftp(hostname,username,pass);
ftp.connect();

// get directory listing

Enumeration listing = ftp.getDirListing();

// enumerate thru listing

while(listing.hasMoreElements()) {

FtpFile file = (FtpFile)listing.nextElement();

// check to see if filename matches 
System.out.println("Filename: " + file.getFilename());

}
1 голос
/ 01 января 2012

Вы должны использовать команды протокола FTP и предпочтительно библиотеку FTP.Apache Commons ' FTPClient довольно хорош.

0 голосов
/ 01 января 2012

Почему бы просто не использовать что-то вроде ftp4j? http://www.sauronsoftware.it/projects/ftp4j/

...