2012-01-01 2 views
0

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

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

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

ответ

2

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

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

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

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

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

Я сделал это успешно, используя 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

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

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