openGionopenGion
5.4.3.9

org.opengion.fukurou.util
クラス FTPConnect

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.AbstractConnect
      上位を拡張 org.opengion.fukurou.util.FTPConnect
すべての実装されたインタフェース:
ConnectIF

public final class FTPConnect
extends AbstractConnect

FTPConnect.java は、共通的に使用される FTP関連の基本機能を実装した、クラスです。 これは、org.apache.commons.net.ftp.FTPClient をベースに開発されています。 このクラスの実行には、commons-net-ftp-2.0.jar が必要です。 -host=FTPサーバー -user=ユーザー -passwd=パスワード -remoteFile=FTP先のファイル名 を必須設定します。 -localFile=ローカルのファイル名は、必須ではありませんが、-command=DEL の場合にのみ不要であり、 それ以外の command の場合は、必要です。 -mode=[ASCII/BINARY] は、ファイル転送時に、ファイルの種類によって指定します。 ASCIIモードは、OS毎に異なる改行コードを変換して転送します。BINARYモードは、そのままの姿でやり取りします。 -command=[GET/PUT/DEL] は、FTPサーバーに対しての処理の方法を指定します。 GET:FTPサーバーからローカルにファイル転送します。(初期値) PUT:ローカルファイルをFTPサーバーに PUT(STORE、SAVE、UPLOAD、などと同意語)します。 DEL:FTPサーバーの指定のファイルを削除します。この場合のみ、-localFile 属性の指定は不要です。 -passive=[true/false] は、パッシブモード(ローカルからサーバーへ接続を張る)を利用する場合に宣言します。 初期値は、true:使用する です。 通常のFTPでは、アクティブモードでファイルをやり取りします。これは、クライアント側が、サーバーソケットを オープンし、指定のポートで待ちうけ状態を作り、FTPサーバー側から接続してもらいます。 一般的な企業内では、ファイアウォールの設定等で、外部からの接続を制限しているケースが多く、アクティブモード では、繋がらない場合が、ほとんどです。 このクラスでは、初期値をパッシブモードにすることで、企業内のファイアウォールのある環境でも 接続できるようにしています。 -mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:FTPサーバー)に取り込むファイルのディレクトリが 存在しない場合に、作成するかどうかを指定します。(初期値:true) 通常、FTPサーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。 逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。 引数文字列中に空白を含む場合は、ダブルコーテーション("") で括って下さい。 引数文字列の 『=』の前後には、空白は挟めません。必ず、-key=value の様に 繋げてください。

形式サンプル:
 FTPConnect -host=FTPサーバー -user=ユーザー -passwd=パスワード -remoteFile=FTP先のファイル名 [-localFile=ローカルのファイル名]
                   [-mode=[ASCII/BINARY]  ] [-command=[GET/PUT/DEL] ] [-passive=[true/false] ]

    -host=FTPサーバー                 :接続先のFTPサーバーのアドレスまたは、サーバー名
    -user=ユーザー                    :接続するユーザー名
    -passwd=パスワード                :接続するユーザーのパスワード
    -remoteFile=FTP先のファイル名     :接続先のFTPサーバー側のファイル名。PUT,GET 関係なくFTP側として指定します。
   [-localFile=ローカルのファイル名]  :ローカルのファイル名。PUT,GET 関係なくローカルファイルを指定します。
   [-port=ポート ]                    :接続するサーバーのポートを指定します。
   [-mode=[ASCII/BINARY]  ]           :扱うファイルの種類を指定します。(初期値:ASCII)
   [-command=[GET/PUT/DEL] ]          :FTPサーバー側での処理の方法を指定します。
                                              GET:FTP⇒LOCAL、PUT:LOCAL⇒FTP への転送です。(初期値:GET)
                                              DEL:FTPファイルを削除します。
   [-passive=[true/false] ]           :パッシブモード(ローカルからサーバーへ接続を張る)を利用するかどうか。(初期値:true)
                                              (false:アクティブモード(通常のFTPの初期値)で通信します。)
   [-mkdirs=[true/false]  ]           :受け側ファイル(GET時:LOCAL、PUT時:FTPサーバー)にディレクトリを作成するかどうか。(初期値:true)
                                              (false:ディレクトリが無ければ、エラーにします。)
   [-encode=エンコード名 ]            :日本語ファイル名などのエンコード名を指定します。(初期値:UTF-8)
   [-timeout=タイムアウト[秒] ]       :Dataタイムアウト。(初期値:600 [秒])
   [-display=[false/true] ]           :trueは、検索状況を表示します。(初期値:false)
   [-debug=[false|true]   ]           :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値 false:表示しない)
変更履歴:
5.1.6.0 (2010/05/01) 新規追加
バージョン
5.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
 
クラス org.opengion.fukurou.util.AbstractConnect から継承されたフィールド
CR, FLAG_NG, FLAG_OK, host, isDebug, isDisplay, isMkdirs, passwd, port, timeout, TIMEOUT, user
 
コンストラクタの概要
FTPConnect()
          デフォルトコンストラクター
 
メソッドの概要
protected  void actionDEL(java.lang.String remoteFile)
          command="DEL" が指定されたときの処理を行います。
protected  void actionDELdir(java.lang.String remoteDir)
          command="DELDIR" が指定されたときの処理を行います。
protected  void actionGET(java.lang.String localFile, java.lang.String remoteFile)
          command="GET" が指定されたときの処理を行います。
protected  void actionGETdir(java.lang.String localDir, java.lang.String remoteDir)
          command="GETDIR" が指定されたときの処理を行います。
protected  void actionPUT(java.lang.String localFile, java.lang.String remoteFile)
          command="PUT" が指定されたときの処理を行います。
 void connect()
          FTPサーバーへの接続、ログインを行います。
 void disconnect()
          FTPサーバーとの接続をクローズします。
static void main(java.lang.String[] args)
          このクラスの動作確認用の、main メソッドです。
 void setEncode(java.lang.String encode)
          日本語ファイル名などのエンコード名を指定します。
 void setMode(java.lang.String mode)
          扱うファイルの種類を指定します。
 void setPassive(boolean isPassive)
          パッシブモードを利用するかどうか。
 
クラス org.opengion.fukurou.util.AbstractConnect から継承されたメソッド
action, actionPUTdir, addFile, errAppend, errAppend, getErrMsg, getPort, getPort, makeLocalDir, setDebug, setDisplay, setHostUserPass, setMkdirs, setPort, setTimeout
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FTPConnect

public FTPConnect()
デフォルトコンストラクター

メソッドの詳細

connect

public void connect()
FTPサーバーへの接続、ログインを行います。 このメソッドは、初期化メソッドです。 FTPサーバーへの接続、ログインを行いますので、複数ファイルを転送する ケースでは、最初に1度だけ呼び出すだけです。 接続先を変更する場合は、もう一度このメソッドをコールする必要があります。 (そのような場合は、通常、オブジェクトを構築しなおす方がよいと思います。)

定義:
インタフェース ConnectIF 内の connect
定義:
クラス AbstractConnect 内の connect

disconnect

public void disconnect()
FTPサーバーとの接続をクローズします。 ログインされている場合は、ログアウトも行います。 コネクトされている場合は、ディスコネクトします。

定義:
インタフェース ConnectIF 内の disconnect
定義:
クラス AbstractConnect 内の disconnect

actionGET

protected void actionGET(java.lang.String localFile,
                         java.lang.String remoteFile)
                  throws java.io.IOException
command="GET" が指定されたときの処理を行います。 接続先のFTPサーバー側のファイル名をローカルにダウンロードします。

定義:
クラス AbstractConnect 内の actionGET
パラメータ:
localFile - String ローカルのファイル名
remoteFile - String FTP先のファイル名
例外:
java.io.IOException

actionGETdir

protected void actionGETdir(java.lang.String localDir,
                            java.lang.String remoteDir)
                     throws java.io.IOException
command="GETDIR" が指定されたときの処理を行います。 接続先のFTPサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。

定義:
クラス AbstractConnect 内の actionGETdir
パラメータ:
localDir - String ローカルのディレクトリ名
remoteDir - String FTP先のディレクトリ名
例外:
java.io.IOException

actionPUT

protected void actionPUT(java.lang.String localFile,
                         java.lang.String remoteFile)
                  throws java.io.IOException
command="PUT" が指定されたときの処理を行います。 ローカルファイルを、接続先のFTPサーバー側にアップロードします。

定義:
クラス AbstractConnect 内の actionPUT
パラメータ:
localFile - String ローカルのファイル名
remoteFile - String FTP先のファイル名
例外:
java.io.IOException

actionDEL

protected void actionDEL(java.lang.String remoteFile)
                  throws java.io.IOException
command="DEL" が指定されたときの処理を行います。 接続先のFTPサーバー側のファイル名を削除します。

定義:
クラス AbstractConnect 内の actionDEL
パラメータ:
remoteFile - String FTP先のファイル名
例外:
java.io.IOException

actionDELdir

protected void actionDELdir(java.lang.String remoteDir)
                     throws java.io.IOException
command="DELDIR" が指定されたときの処理を行います。 接続先のFTPサーバー側のディレクトリ名を削除します。

定義:
クラス AbstractConnect 内の actionDELdir
パラメータ:
remoteDir - String FTP先のディレクトリ名
例外:
java.io.IOException

setMode

public void setMode(java.lang.String mode)
扱うファイルの種類を指定します。 (初期値:ASCII) ファイルを FTP でやり取りする場合、ASCII 指定すると、OSの改行コードの違いを 吸収して、ファイルのやり取りが行われます。(つまり、改行コード変換が行われます。) BINARY 指定すると、現状のファイルのまま、やり取りされます。 これは、たとえ、アスキーファイルであっても、そのままの姿でやり取りされるということです。 内部的には、isAsciiMode 属性に、true:ASCII / false:BINARY で管理されます。

パラメータ:
mode - String 扱うファイルの種類を指定します。(ASCII/BINARY)

setPassive

public void setPassive(boolean isPassive)
パッシブモードを利用するかどうか。(true:パッシブ) を設定します。(初期値:true) パッシブモード(ローカルからサーバーへ接続を張る)を利用する場合に宣言します。 通常のFTPでは、アクティブモードでファイルをやり取りします。これは、クライアント側が、サーバーソケットを オープンし、指定のポートで待ちうけ状態を作り、FTPサーバー側から接続してもらいます。 一般的な企業内では、ファイアウォールの設定等で、外部からの接続を制限しているケースが多く、アクティブモード では、繋がらない場合が、ほとんどです。 このクラスでは、初期値をパッシブモードにすることで、企業内のファイアウォールのある環境でも 接続できるようにしています。

パラメータ:
isPassive - boolean パッシブモードを利用するかどうか。(true:パッシブ)

setEncode

public void setEncode(java.lang.String encode)
日本語ファイル名などのエンコード名を指定します。(初期値:UTF-8)

パラメータ:
encode - String エンコード名

main

public static void main(java.lang.String[] args)
このクラスの動作確認用の、main メソッドです。

パラメータ:
args - String[]

openGion 5.4.3.9

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.