Perpustakaan klien FTP Java apa yang harus saya gunakan? [Tutup]

92

Karena saya tidak menerima jawaban positif untuk pertanyaan terakhir saya . Saya akan mencoba menulis applet unggahan Java FTP sendiri.

Pertanyaan saya adalah: "Dapatkah Anda merekomendasikan pustaka klien FTP Java untuk saya gunakan?"

Saya ingin menjadi:

  • stabil
  • mampu menangani mode pasif dan aktif
  • mampu memberikan informasi kemajuan unggahan
  • membuang pengecualian yang dapat ditangkap jika terjadi kesalahan (terutama ketika unggahan tidak berhasil)
  • murah / gratis untuk digunakan, lebih disukai open source

Saya menemukan ikhtisar ini dari beberapa perpustakaan, tetapi karena artikel ini berasal dari tahun 2003, mungkin beberapa perkembangan baru telah terjadi :)

Tader
sumber

Jawaban:

56

Lihat Apache commons-net , yang berisi utilitas FTP. Di atas kepala saya, saya tidak yakin apakah itu memenuhi semua kebutuhan Anda, tapi pasti gratis!

Leigh
sumber
Sedikit info ini ditambahkan di sini meskipun tidak terkait dengan pertanyaan - hanya ingin meletakkannya di suatu tempat. commons-net FtpClient masih kekurangan dukungan IPv6 (RFC 2438) dalam rilis 2.0 terbaru tanggal 2008. Namun, 2.1 seharusnya menyertakannya. Mereka tidak terlalu sering merilis ...
Moritz Baik
2
@ Moritz Both: Itu akhirnya diperbaiki pada tahun 2010. Lihat issues.apache.org/jira/browse/NET-288 .
sleske
Saya mencoba menggunakan pustaka FTP yang disarankan, tetapi ada masalah di balik proxy jaringan, ada saran?
Ashish Sharma
2
Kecepatan agak lambat dengan perpustakaan ini, mencari perpustakaan yang lebih cepat.
Tommy Ng
@TommyNg Saya memperbaiki perlambatan dengan menghapus kuota dari server FTP dan dengan meningkatkan ukuran buffer. Mungkin itu bisa membantu Anda.
gouessej
17

ftp4j adalah yang terbaik, baik untuk fitur dan lisensi:

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

Cocco
sumber
5
Sisi negatifnya adalah bahwa itu tidak di Maven Central
yegor256
9
Saya tidak mengerti mengapa tidak mengunggah perpustakaan ke Maven Central ... Apakah ini keputusan agama atau politik?
gavenkoa
2
@gavenkoa seperti yang saya pahami, untuk mengunggah proyek Anda ke pusat maven, Anda hampir dipaksa untuk menggunakan maven sebagai alat pembangunan Anda. Jika seseorang membangun dengan semut (seperti ftp4j), itu tidak mudah, dan saya kira penulis tidak cukup peduli untuk membuat ini terjadi.
Paŭlo Ebermann
1
Mengumpulkan dependensi dengan repositori Maven biasa dilakukan untuk Java (seperti pip untuk Python, Gems untuk Ruby). Bahkan di Ant ada Ivy. Pengembang mungkin tidak punya waktu atau uang untuk mengupload, siapa tahu?
gavenkoa
@ PaŭloEbermann Tidak mungkin menggunakan Ant sebagai alat pembangunan dan mengunggah perpustakaan di Maven Central, inilah yang kami lakukan untuk JogAmp (JOGL, JOAL, JOCL). Selain itu, Anda dapat memiliki penyimpanan Maven Anda sendiri daripada menyalahgunakan sentralisasi untuk menghormati beberapa pertimbangan politik yang saya pahami sepenuhnya.
gouessej
6

Ya, edtFTPj EnterpriseDT stabil (pertama kali dirilis pada tahun 2000), memiliki semua fitur yang mungkin Anda perlukan, dan juga open source.

Ini digunakan dalam banyak proyek open source (serta di banyak proyek komersial), dan diakui sebagai salah satu pustaka klien tercepat .

Seperti yang dicatat oleh poster lain, jika Anda ingin meningkatkan ke SFTP dan / atau FTPS, ini adalah jalur peningkatan sederhana dengan sedikit perubahan kode yang diperlukan.

Bruce Blackshaw
sumber
Saya tidak bisa mendapatkan ftp4j karena beberapa pengecualian IllegalReply. Yang ini bekerja dengan cukup baik.
anujin
Artikel yang Anda sebutkan sebagai bukti kecepatan tanggal edtFTPj dari tahun 2006. Benar-benar ketinggalan jaman
ftrujillo
2
Paket ini tidak gratis (dan sangat mahal) jika Anda membutuhkan fitur "pro", seperti menghubungkan melalui proxy ...
Eric Nicolas
4

Commons-net tentunya. :) Kebanyakan proyek open source menggunakannya hari ini.

yc

yclian
sumber
1

Saya telah berhasil menggunakan pustaka FTP Enterprise DT , yang gratis dan open source. Saya tidak dapat membandingkannya dengan perpustakaan lain (seperti perpustakaan Apache Commons Net) karena saya belum menggunakannya. Itu menyediakan jalur peningkatan sederhana ke SFTP (melalui SSH) dan FTPS (melalui SSL), meskipun itu adalah produk komersial berbayar.

Cozzman
sumber
1

Apache commons-nets mendapatkan pembaruan lebih sering baru-baru ini, sementara perpustakaan Enterprise DT tampaknya lebih sering diperbarui.

Gatorhall
sumber
0

Saya sedang mengunduh file video. FTPClient Apache meraba-raba, itu mengunduh video dengan cukup cepat. tetapi ketika saya mencoba memutar kembali video tersebut, video tersebut kehilangan bagian tengah video. ftp4j akan mengunduh seluruh video tanpa kehilangan.

ftp4j ftw

nicolai.tesela
sumber
0

Anda juga memiliki artikel 2006 ini yang mencantumkan opsi berbeda untuk klien FTP.

commons-net memang bagus, tetapi FTP-GO dapat memberi Anda beberapa fitur yang lebih canggih yang Anda cari.

kagi Ftp-Go

VonC
sumber
Tautan pertama sudah mati
gouessej
1
@ gouessej Link pertama tidak mati. Yang kedua adalah. Saya telah memulihkan tautan "FTP-GO".
VonC
1
Anda benar, terima kasih. Anda harus membayar biaya 750USD untuk mendapatkan kode sumber API ini: s
gouessej