どのJava FTPクライアントライブラリを使用すればよいですか?[閉まっている]


91

私は私の最後の質問に対する肯定的な答えを受け取っていないので。私はJava FTPアップロードアプレットを自分で書いてみます。

私の質問は、「Java FTPクライアントライブラリを使用することをお勧めできますか?」です。

私はそれがなりたいです:

  • 安定した
  • パッシブモードとアクティブモードを処理できます
  • アップロードの進捗情報を提供できる
  • 問題が発生した場合にキャッチ可能な例外をスローする(特にアップロードが成功しない場合)
  • 安価/無料で使用できる、できればオープンソース

いくつかのライブラリのこの 概要を見つけましたが、この記事は2003年のものなので、おそらくいくつかの新しい開発が行われました:)

回答:


56

FTPユーティリティが含まれているApache commons-netを確認してください。私の頭の上では、それがすべての要件を満たしているかどうかはわかりませんが、確かに無料です!


この情報ビットは、質問とは関係ありませんが、ここに追加されます-どこかに配置したかっただけです。commons-net FtpClientは、2008年日付の最新の2.0リリースではIPv6サポート(RFC 2438)をまだ欠いています。ただし、2.1にはIPv6サポートが含まれることになっています。彼らはあまり頻繁にリリースしません...
Moritz両方

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にアップロードしない理由を理解できません...これは宗教的または政治的な決定ですか?
ジバンコア2014年

2
@gavenkoaが理解しているように、プロジェクトをMaven Centralにアップロードするには、ほとんどの場合、Mavenをビルドツールとして使用する必要があります。(ftp4jのように)antを使用してビルドしている場合、それは簡単ではありません。作成者はこれを実現するのに十分な関心がないと思います。
–PaŭloEbermann 2015

1
Mavenリポジトリーとの依存関係の収集は、Javaでは通常です(Pythonではpip、RubyではGems)。Antにもアイビーがいます。開発者はアップロード作業を行う時間もお金もないかもしれません、誰が知っていますか?
ジヴェンコア2015年

@PaŭloEbermannいいえ、Antをビルドツールとして使用してライブラリをMaven Centralにアップロードすることはできません。これは、JogAmp(JOGL、JOAL、JOCL)のために行うものです。さらに、私が完全に理解しているいくつかの政治的考慮事項を尊重するために、一元化を乱用する代わりに、独自のMavenリポジトリーを持つことができます。
gouessej

6

はい、EnterpriseDTのedtFTPjは安定しており(2000年に最初にリリースされました)、必要なすべての機能を備えており、オープンソースでもあります。

多数のオープンソースプロジェクト(および多くの商用プロジェクト)で使用されており、で最も高速なクライアントライブラリの1つであることが認められています。

別の投稿者が指摘したように、SFTPまたはFTPS、あるいはその両方にアップグレードしたい場合は、コードの変更をほとんど必要としない単純なアップグレードパスです。


IllegalReplyの例外のため、ftp4jを動作させることができませんでした。これはかなりうまくいきました。
anujin 2013

edtFTPjの速度の証明として言及した記事は2006年のものです。本当に古くなっています
ftrujillo

2
このパッケージは、プロキシ経由の接続などの「プロ」機能が必要になるとすぐには無料ではありません(そして非常に高価です)
Eric Nicolas


4

コモンズネットはきっと。:)最近、ほとんどのオープンソースプロジェクトがそれを使用しています。

yc


1

無料でオープンソースのEnterprise DT FTPライブラリを正常に使用できました。他のライブラリ(Apache Commons Netライブラリなど)と比較することはできません。SFTP(SSH経由)およびFTPS(SSL経由)への簡単なアップグレードパスを提供しますが、有料の商用製品です。


1

最近、Apache commons-netsはより頻繁に更新を取得しますが、Enterprise DTライブラリはより頻繁に更新されるようです。


0

ビデオファイルをダウンロードしていました。ApacheのFTPClientは手探りで、ビデオをかなり速くダウンロードしました。ビデオを再生しようとすると、ビデオの途中からチャンクが失われました。ftp4jは、ビデオ全体を損失なくダウンロードします。

ftp4j ftw


0

また、FTPクライアントのさまざまなオプションをリストしたこの2006年の記事もあります。

commons-netは良いですが、FTP-GOはあなたが探しているより高度な機能のいくつかをあなたに与えることができます。

kagi Ftp-Go


最初のリンクは
無効

1
@gouessej最初のリンクは死んでいません。二つ目は。「FTP-GO」リンクを復元しました。
VonC、2016年

1
あなたは正しい、ありがとう。このAPIのソースコードを取得するには、750USDの料金を支払う必要があります:s
gouessej
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.