Яку бібліотеку клієнта FTP Java слід використовувати? [зачинено]


91

Оскільки я не отримав позитивних відповідей на своє останнє запитання. Я спробую написати аплет для завантаження Java FTP.

Моє запитання: "Чи можете ви порекомендувати мені використовувати бібліотеку клієнта Java FTP?"

Я хочу, щоб це було:

  • стабільний
  • здатний обробляти пасивний та активний режими
  • зможе надати інформацію про хід завантаження
  • викидати вловлювані винятки, якщо щось пішло не так (особливо коли завантаження не вдається)
  • дешевий / безкоштовний у використанні, бажано з відкритим кодом

Я знайшов цей огляд деяких бібліотек, але оскільки ця стаття 2003 року, можливо, відбулися деякі нові розробки :)

Відповіді:


56

Перегляньте Apache commons-net , який містить утиліти FTP. Я не впевнений, чи відповідає він усім вашим вимогам, але це, безумовно, безкоштовно!


Цей інформаційний біт додано сюди, хоча він не пов’язаний із запитанням - просто хотів його десь розмістити. commons-net FtpClient все ще не підтримує підтримку IPv6 (RFC 2438) в останньому випуску 2.0 від 2008 р. Однак, як передбачається, 2.1. Вони не часто випускають ...
Моріц, обидва

2
@Moritz Both: Це було остаточно виправлено у 2010 році. Див. Issues.apache.org/jira/browse/NET-288 .
sleske

Я намагаюся використовувати запропоновану бібліотеку FTP, але це створює проблеми за мережевим проксі, чи є якісь пропозиції?
Ashish Sharma

2
Швидкість роботи з цією бібліотекою є досить низькою, тому ми шукаємо швидшу бібліотеку.
Tommy Ng

@TommyNg Я виправив уповільнення, вилучивши квоту з FTP-сервера та збільшивши розмір буфера. Можливо, це може вам допомогти.
gouessej

17

ftp4j - найкращий, як для функцій, так і для ліцензії:

http://www.sauronsoftware.it/projects/ftp4j/


5
Недоліком є ​​те, що це не в Maven Central
yegor256

9
Я не розумію, чому б не завантажити бібліотеку в Maven Central ... Це релігійне чи політичне рішення?
gavenkoa

2
@gavenkoa, наскільки я розумію, для завантаження вашого проекту в maven central ви майже змушені використовувати maven як інструмент побудови. Якщо хтось будує з мурашкою (як ftp4j), це не так просто, і, мабуть, авторові все одно, що це можливо.
Paŭlo Ebermann

1
Збір залежностей за допомогою сховищ Maven є звичним для Java (як pip для Python, Gems для Ruby). Навіть у Мурахи є Плющ. У розробників може не бути часу чи грошей на завантаження, хто знає?
gavenkoa

@ PaŭloEbermann Ні, не можна використовувати Ant як інструмент побудови та завантажувати бібліотеку на Maven Central, це те, що ми робимо для JogAmp (JOGL, JOAL, JOCL). Більше того, ви можете мати власне сховище Maven замість того, щоб зловживати централізацією, щоб поважати деякі політичні міркування, які я цілком розумію.
gouessej

6

Так, edtFTPj EnterpriseDT стабільний (вперше випущений у 2000 році), має всі функції, які вам можуть знадобитися, а також з відкритим кодом.

Він використовується в безлічі проектів з відкритим кодом (а також у багатьох комерційних проектах) і визнаний однією з найшвидших клієнтських бібліотек .

Як зазначав інший плакат, якщо ви хочете перейти на SFTP та / або FTPS, це простий шлях оновлення з дуже невеликою кількістю змін коду.


Я не міг отримати роботу ftp4j через якийсь виняток IllegalReply. Цей працював досить добре.
anujin

Стаття, яку ви згадали як доказ швидкості edtFTPj, датується 2006 роком. Дійсно застаріла
ftrujillo

2
Цей пакет не є безкоштовним (і дуже дорогим), як тільки вам потрібні "професійні" функції, такі як підключення через проксі-сервер ...
Ерік Ніколас


4

Commons-net точно. :) Сьогодні більшість проектів з відкритим кодом використовують це.

yc


1

Я успішно використав FTP- бібліотеку Enterprise DT , яка є безкоштовною та відкритою. Я не можу порівняти його з іншими бібліотеками (наприклад, бібліотекою Apache Commons Net), оскільки я ними не користувався. Він надає простий шлях оновлення до SFTP (через SSH) та FTPS (через SSL), хоча це платна за комерційний продукт.


1

Спільні мережі Apache останнім часом оновлюються частіше, тоді як, здається, бібліотека Enterprise DT оновлюється ще частіше.


0

Я завантажував відеофайли. FTPClient від Apache помацався, він завантажив відео досить швидко. але коли я спробував відтворити відео, воно втратило фрагменти з середини відео. ftp4j завантажує ціле відео без втрат.

ftp4j ftw


0

У вас також є ця стаття 2006 року, в якій перелічені різні варіанти для клієнтів FTP.

commons-net - це добре, але FTP-GO може надати вам деякі розширені функції, які ви шукаєте.

kagi Ftp-Go


Перше посилання мертве
gouessej

1
@gouessej Перше посилання не померло. Другий був. Я відновив посилання "FTP-GO".
VonC

1
Ви маєте рацію, дякую. Вам потрібно заплатити плату в розмірі 750 доларів США, щоб отримати вихідний код цього API: s
gouessej
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.