概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.1.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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(String remoteFile)` command="DEL" が指定されたときの処理を行います。
`protected void` | `actionDELdir(String remoteDir)` command="DELDIR" が指定されたときの処理を行います。
`protected void` | `actionGET(String localFile, String remoteFile)` command="GET" が指定されたときの処理を行います。
`protected void` | `actionGETdir(String localDir, String remoteDir)` command="GETDIR" が指定されたときの処理を行います。
`protected void` | `actionPUT(String localFile, String remoteFile)` command="PUT" が指定されたときの処理を行います。
`void` | `connect()` FTPサーバーへの接続、ログインを行います。
`void` | `disconnect()` FTPサーバーとの接続をクローズします。
`static void` | `main(String[] args)` このクラスの動作確認用の、main メソッドです。
`void` | `setEncode(String encode)` 日本語ファイル名などのエンコード名を指定します。
`void` | `setMode(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サーバーへの接続、ログインを行いますので、複数ファイルを転送する ケースでは、最初に１度だけ呼び出すだけです。 接続先を変更する場合は、もう一度このメソッドをコールする必要があります。 (そのような場合は、通常、オブジェクトを構築しなおす方がよいと思います。)

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

### disconnect

    public void disconnect()

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

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

### actionGET

    protected void actionGET(String localFile,
                             String remoteFile)
                      throws IOException

  command="GET" が指定されたときの処理を行います。 接続先のFTPサーバー側のファイル名をローカルにダウンロードします。

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

### actionGETdir

    protected void actionGETdir(String localDir,
                                String remoteDir)
                         throws IOException

  command="GETDIR" が指定されたときの処理を行います。 接続先のFTPサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。

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

### actionPUT

    protected void actionPUT(String localFile,
                             String remoteFile)
                      throws IOException

  command="PUT" が指定されたときの処理を行います。 ローカルファイルを、接続先のFTPサーバー側にアップロードします。

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

### actionDEL

    protected void actionDEL(String remoteFile)
                      throws IOException

  command="DEL" が指定されたときの処理を行います。 接続先のFTPサーバー側のファイル名を削除します。

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

### actionDELdir

    protected void actionDELdir(String remoteDir)
                         throws IOException

  command="DELDIR" が指定されたときの処理を行います。 接続先のFTPサーバー側のディレクトリ名を削除します。

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

### setMode

    public void setMode(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(String encode)

  日本語ファイル名などのエンコード名を指定します。(初期値：UTF-8）

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

### main

    public static void main(String[] args)

  このクラスの動作確認用の、main メソッドです。

  パラメータ:
    `args` - String[]

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.1.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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