Hangi Java FTP istemci kitaplığını kullanmalıyım? [kapalı]


92

Son soruma olumlu cevap alamadığım için . Kendim bir Java FTP yükleme uygulaması yazmayı deneyeceğim.

Sorum şu: "Kullanmam için bir Java FTP istemci kitaplığı önerebilir misiniz?"

Olmasını istiyorum:

  • kararlı
  • pasif ve aktif modları idare edebilir
  • yükleme ilerleme bilgisi sağlayabilir
  • Bir şeyler ters giderse (özellikle bir yükleme başarılı olmadığında) yakalanabilir istisnalar atın
  • ucuz / ücretsiz, tercihen açık kaynak

Bazı kütüphanelerde bu genel bakışı buldum , ancak bu makale 2003 yılından beri, belki bazı yeni gelişmeler olmuştur :)

Yanıtlar:


56

FTP araçlarını içeren Apache commons- net'e bakın. Aklımın ucunda, tüm gereksinimlerinizi karşılayıp karşılamadığından emin değilim, ama kesinlikle ücretsiz!


Bu bilgi biti, soruyla ilgisiz olmasına rağmen buraya eklenir - sadece bir yere yerleştirmek istedim. commons-net FtpClient, 2008 tarihli en son 2.0 sürümünde hala IPv6 desteğinden (RFC 2438) yoksundur. Ancak 2.1'in bunu içermesi beklenmektedir. Çok sık yayınlanmıyorlar ...
Moritz İkisi de

2
@Moritz Her İkisi: Bu nihayet 2010'da düzeltildi . Sorunları.apache.org/jira/browse/NET-288'e bakın .
sleske

Önerilen FTP kitaplığını kullanmaya çalışıyorum ancak bir ağ proxy'sinin arkasında sorunlar veriyor, herhangi bir öneriniz var mı?
Ashish Sharma

2
Daha hızlı bir kitaplık arayan bu kitaplıkta hız oldukça yavaş.
Tommy Ng

@TommyNg FTP sunucusundan bir kotayı kaldırarak ve tampon boyutunu artırarak yavaşlamayı düzelttim. Belki sana yardımcı olabilir.
gouessej

17

ftp4j, hem özellikler hem de lisans için en iyisidir:

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


5
Olumsuz yanı, Maven Central'da olmaması
yegor256

9
Neden Maven Central'a kütüphane yüklemiyorum anlamıyorum ... Bu dini mi yoksa siyasi bir karar mı?
gavenkoa

2
@gavenkoa, anladığım kadarıyla, projenizi maven Central'a yüklemek için neredeyse derleme aracınız olarak maven'i kullanmak zorunda kalıyorsunuz. Eğer biri ant ile inşa ediyorsa (ftp4j olduğu gibi) o kadar kolay değildir ve sanırım yazar bunu yapacak kadar umursamıyor.
Paŭlo Ebermann

1
Maven depoları ile bağımlılıkları toplamak Java için olağandır (Python için pip, Ruby için Gems gibi). Ant'ta bile Ivy var. Geliştiricilerin yükleme işi yapacak zamanı veya parası olmayabilir, kim bilir?
gavenkoa

@ PaŭloEbermann Hayır, Ant'ı bir inşa aracı olarak kullanmak ve kitaplığı Maven Central'a yüklemek mümkün, JogAmp (JOGL, JOAL, JOCL) için yaptığımız şey bu. Dahası, tam olarak anladığım bazı politik hususlara saygı duymak için merkezileştirmeyi kötüye kullanmak yerine kendi Maven deponuza sahip olabilirsiniz.
gouessej

6

Evet, EnterpriseDT'nin edtFTPj'si kararlıdır (ilk olarak 2000'de piyasaya sürülmüştür), ihtiyacınız olabilecek tüm özelliklere sahiptir ve aynı zamanda açık kaynaklıdır.

Bir dizi açık kaynaklı projede (ve birçok ticari projede) kullanılır ve etrafındaki en hızlı istemci kitaplıklarından biri olduğu kabul edilir .

Başka bir posterde belirtildiği gibi, SFTP ve / veya FTPS'ye yükseltmek istiyorsanız, çok az kod değişikliği gerektiren basit bir yükseltme yoludur.


Bazı IllegalReply istisnaları nedeniyle ftp4j'yi çalıştıramadım. Bu oldukça iyi çalıştı.
anujin

EdtFTPj'nin hızının bir kanıtı olarak bahsettiğiniz makale 2006'dan kalmadır. Gerçekten modası geçmiş
ftrujillo

2
Bu paket, proxy aracılığıyla bağlanmak gibi "profesyonel" özelliklere ihtiyaç duyduğunuz anda ücretsiz değil (ve çok pahalı) ...
Eric Nicolas


4

Elbette müşterek net. :) Bugünlerde çoğu açık kaynak projesi bunu kullanıyor.

yc


1

Ücretsiz ve açık kaynak olan Enterprise DT FTP kitaplığını başarıyla kullandım . Kullanmadığım için diğer kitaplıklarla (Apache Commons Net kitaplığı gibi) karşılaştıramıyorum. SFTP (SSH üzerinden) ve FTPS'ye (SSL üzerinden) basit bir yükseltme yolu sağlar, ancak bu ticari bir üründür.


1

Apache ortak ağları, güncellemeleri yakın zamanda daha sık alırken, Kurumsal DT kitaplığı daha da sık güncelleniyor gibi görünüyor.


0

Video dosyalarını indiriyordum. Apache'nin FTPClient'i başarısız oldu, videoyu oldukça hızlı indirdi. ancak videoyu yeniden oynatmaya çalıştığımda, videonun ortasında parçalar kayboldu. ftp4j tüm videoyu kayıpsız indirir.

ftp4j ftw


0

Ayrıca , FTP istemcileri için farklı seçenekleri listeleyen bu 2006 makalesine sahipsiniz .

commons-net iyidir, ancak FTP-GO aradığınız daha gelişmiş özelliklerden bazılarını size sağlayabilir.

kagi Ftp-Go


İlk bağlantı
kesildi

1
@gouessej İlk bağlantı ölmedi. İkincisi. "FTP-GO" bağlantısını geri yükledim.
VonC

1
Haklısın teşekkürler Bu API'nin kaynak kodunu almak için 750USD ücret ödemeniz gerekiyor: s
gouessej
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.