Javaの標準APIにはFTPに特化したクラス等がありません。
標準APIだけを使用してFTPサーバとやりとりするには
ソケットを用いてコマンドを発行したりします。
でも、JakartaのCommonsにNetというのがありますので、
これを使用するのが一番手っ取り早いです。
Netの中には、FTPの他POPやTELNET等もあります。
FTPを操作する際に使用するクラスは
org.apache.commons.net.ftp.FTPClient
です。まんまですが・・
以下、使い方のメモです。
なお、使用したCommons Netのバージョンは1.3.0です。
(1) サーバーに接続
FTPClient ftp = new FTPClient(); ftp.connect("ホスト", ポート番号);
です。接続する際のソケットの作成などはFTPClient内部で
うまくやってくれます。
また、応答コードなどは以下のメソッドで取得できます。
int replyCode = ftp.getReplyCode();
String replyString = ftp.getReplyString();
取得した応答コードが正常なものなのか、異常なものなのか
はorg.apache.commons.net.ftp.FTPReplyクラスの
クラスメソッドisPositiveCompletionで判断できます。
if(!FTPReply.isPositiveCompletion(replyCode)){ // 異常な応答コード }
基本な処理の仕方としては
コマンドを発行 ↓ 応答コードを取得 ↓ 確認
の流れを繰り返す事になります。
================================
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ