クラス AbstractConnect
java.lang.Object
org.opengion.fukurou.util.AbstractConnect
- すべての実装されたインタフェース:
ConnectIF
- 直系の既知のサブクラス:
FTPConnect
,SFTPConnect
,SMBConnect
AbstractConnect.java は、共通的に使用される ファイル伝送関連の基本機能を実装した、Abstractクラスです。
-host=サーバー -user=ユーザー -passwd=パスワード -remoteFile=接続先のファイル名 を必須設定します。
-localFile=ローカルのファイル名は、必須ではありませんが、-command=DEL の場合にのみ不要であり、
それ以外の command の場合は、必要です。
-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] は、サーバーに対しての処理の方法を指定します。
GET:サーバーからローカルにファイル転送します(初期値)
PUT:ローカルファイルをサーバーに PUT(STORE、SAVE、UPLOAD、などと同意語)します。
DEL:サーバーの指定のファイルを削除します。この場合のみ、-localFile 属性の指定は不要です。
GETDIR,PUTDIR,DELDIR:指定のフォルダ以下のファイルを処理します。
-mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:サーバー)に取り込むファイルのディレクトリが
存在しない場合に、作成するかどうかを指定します(初期値:true)
通常、サーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。
逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には
false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。
引数文字列中に空白を含む場合は、ダブルコーテーション("") で括って下さい。
引数文字列の 『=』の前後には、空白は挟めません。必ず、-key=value の様に
繋げてください。
- 変更履歴:
- 5.1.6.0 (2010/05/01) 新規追加
- 形式サンプル:
- XXXConnect -host=サーバー -user=ユーザー -passwd=パスワード -remoteFile=接続先のファイル名 [-localFile=ローカルのファイル名] [-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] ] [-display=[true/false] ] ・・・・ -host=サーバー :接続先のサーバーのアドレスまたは、サーバー名 -user=ユーザー :接続するユーザー名 -passwd=パスワード :接続するユーザーのパスワード -remoteFile=接続先のファイル名 :接続先のサーバー側のファイル名。PUT,GET 関係なくFTP側として指定します。 [-localFile=ローカルのファイル名] :ローカルのファイル名。PUT,GET 関係なくローカルファイルを指定します。 [-port=ポート ] :接続するサーバーのポートを指定します。 [-command=[GET/PUT/DEL] ] :サーバー側での処理の方法を指定します。 [GETDIR/PUTDIR/DELDIR]] GET:FTP⇒LOCAL、PUT:LOCAL⇒FTP への転送です(初期値:GET) DEL:FTPファイルを削除します。 GETDIR,PUTDIR,DELDIR 指定のフォルダ以下のファイルを処理します。 [-mkdirs=[true/false] ] :受け側ファイル(GET時:LOCAL、PUT時:サーバー)にディレクトリを作成するかどうか(初期値:true) (false:ディレクトリが無ければ、エラーにします。) [-encode=エンコード名 ] :日本語ファイル名などのエンコード名を指定します(初期値:Windows-31J) [-timeout=タイムアウト[秒] ] :Dataタイムアウト(初期値:600 [秒]) [-display=[false/true] ] :trueは、検索状況を表示します(初期値:false) [-debug=[false|true] ] :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド修飾子とタイプフィールド説明protected static final int
StringBilderなどの初期値を設定します。protected static final String
システムの改行コードを設定します。static final boolean
異常フラグ falsestatic final boolean
正常フラグ trueprotected String
サーバーprotected boolean
デバッグ情報を表示するかどうかprotected boolean
検索状況を表示するかどうかprotected boolean
ディレクトリを作成するかどうかprotected String
パスワードprotected String
ポートprotected int
Dataタイムアウトstatic final int
Dataタイムアウト(初期値:600 [秒])protected String
ユーザー -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
command , localFile , remoteFile を元に、FTP処理を行います。protected abstract void
command="DEL" が指定されたときの処理を行います。protected abstract void
actionDELdir
(String remoteDir) command="DELDIR" が指定されたときの処理を行います。protected abstract void
command="GET" が指定されたときの処理を行います。protected abstract void
actionGETdir
(String localDir, String remoteDir) command="GETDIR" が指定されたときの処理を行います。protected abstract void
command="PUT" が指定されたときの処理を行います。protected void
actionPUTdir
(String localDir, String remoteDir) command="PUTDIR" が指定されたときの処理を行います。protected String
ディレクトリとファイル名を合成します。abstract void
connect()
サーバーへの接続、ログインを行います。abstract void
サーバーとの接続をクローズします。protected void
処理中に発生したエラーメッセージをセットします。protected void
処理中に発生したエラーメッセージをセットします。処理中に発生したエラーメッセージを取り出します。protected String
getPort()
ポートを取得します。protected int
getPort
(int defPort) ポートを取得します。protected void
makeLocalDir
(String localFile) ローカルファイルのディレクトリを作成します。void
setDebug
(boolean isDebug) デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。void
setDisplay
(boolean isDisplay) 実行状況の表示可否 を設定します(初期値:false:表示しない)。void
setHostUserPass
(String host, String user, String passwd) サーバーの、ホスト、ユーザー、パスワードを設定します。void
setMkdirs
(boolean isMkdirs) それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。void
接続に利用するポート番号を設定します。void
setTimeout
(int timeout) タイムアウトを秒で指定します(初期値:600 [秒])。
-
フィールド詳細
-
CR
システムの改行コードを設定します。 -
BUFFER_MIDDLE
StringBilderなどの初期値を設定します。 200- 関連項目:
-
FLAG_OK
正常フラグ true- 関連項目:
-
FLAG_NG
異常フラグ false- 関連項目:
-
TIMEOUT
Dataタイムアウト(初期値:600 [秒])- 関連項目:
-
host
サーバー -
user
ユーザー -
passwd
パスワード -
port
ポート -
isMkdirs
ディレクトリを作成するかどうか -
timeout
Dataタイムアウト -
isDisplay
検索状況を表示するかどうか -
isDebug
デバッグ情報を表示するかどうか
-
-
コンストラクタの詳細
-
AbstractConnect
protected AbstractConnect()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
connect
サーバーへの接続、ログインを行います。 -
action
command , localFile , remoteFile を元に、FTP処理を行います。 このメソッドは、connect( String , String , String )メソッド、および、 paramInit() 実行後に、呼び出す必要があります。 ※ 内部で、command に指定できない値をセットしたか、何らかのエラーが発生した場合。 -
disconnect
サーバーとの接続をクローズします。 ログインされている場合は、ログアウトも行います。 コネクトされている場合は、ディスコネクトします。- 定義:
disconnect
インタフェース内ConnectIF
-
actionGET
command="GET" が指定されたときの処理を行います。 接続先のサーバー側のファイル名をローカルにダウンロードします。- パラメータ:
localFile
- ローカルのファイル名remoteFile
- 接続先のファイル名- 例外:
IOException
- 何らかのエラーが発生した場合。- 変更履歴:
- 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
-
actionGETdir
command="GETDIR" が指定されたときの処理を行います。 接続先のサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。- パラメータ:
localDir
- ローカルのディレクトリ名remoteDir
- 接続先のディレクトリ名- 例外:
IOException
- 何らかのエラーが発生した場合。- 変更履歴:
- 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
-
actionPUT
command="PUT" が指定されたときの処理を行います。 ローカルファイルを、接続先のサーバー側にアップロードします。- パラメータ:
localFile
- ローカルのファイル名remoteFile
- 接続先のファイル名- 例外:
IOException
- 何らかのエラーが発生した場合。- 変更履歴:
- 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
-
actionPUTdir
command="PUTDIR" が指定されたときの処理を行います。 ローカルファイルのディレクトリ以下を、接続先のサーバー側のディレクトリに階層構造のままアップロードします。- パラメータ:
localDir
- ローカルのディレクトリ名remoteDir
- 接続先のディレクトリ名- 例外:
IOException
- 何らかのエラーが発生した場合。- 変更履歴:
- 5.3.7.0 (2011/07/01) フォルダにアクセスできない場合は、エラーを返します。, 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
-
actionDEL
command="DEL" が指定されたときの処理を行います。 接続先のサーバー側のファイル名を削除します。- パラメータ:
remoteFile
- 接続先のファイル名- 例外:
IOException
- 何らかのエラーが発生した場合。- 変更履歴:
- 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
-
actionDELdir
command="DELDIR" が指定されたときの処理を行います。 接続先のサーバー側のディレクトリ名を削除します。- パラメータ:
remoteDir
- 接続先のディレクトリ名- 例外:
IOException
- 何らかのエラーが発生した場合。- 変更履歴:
- 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
-
makeLocalDir
ローカルファイルのディレクトリを作成します。 引数のファイル名は、ファイル名です。作成するディレクトリは、そのファイルオブジェクトの getParentFile() で取得されるディレクトリまでを作成します。 ※ ローカルファイルのディレクトリの作成に失敗した場合は、RuntimeException が throw されます。- パラメータ:
localFile
- ローカルのファイル名- 例外:
IOException
- File#getCanonicalFile() で発生する入出力エラー
-
addFile
ディレクトリとファイル名を合成します。 単純に、ディレクトリの最後と、ファイルの最初の、"/" をチェックし、 存在すれば、そのまま、結合し、存在しなければ、"/" を追加します。 両方に存在する場合は、片方をはずします。- パラメータ:
dir
- ディレクトリ名file
- ファイル名- 戻り値:
- 合成されたファイル名
-
setHostUserPass
サーバーの、ホスト、ユーザー、パスワードを設定します。- 定義:
setHostUserPass
インタフェース内ConnectIF
- パラメータ:
host
- サーバーuser
- ユーザーpasswd
- パスワード
-
setPort
接続に利用するポート番号を設定します。 -
getPort
ポートを取得します。 設定されている生のport属性(nullもありうる)を返します。- 戻り値:
- ポート
-
getPort
ポートを取得します。 設定されているport属性が、nullの場合は、defPortを返します。- パラメータ:
defPort
- port が null の場合の初期値- 戻り値:
- ポート
-
setMkdirs
それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。 -mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:サーバー)に取り込むファイルのディレクトリが 存在しない場合に、作成するかどうかを指定します(初期値:true) 通常、サーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。 逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。 -
setTimeout
タイムアウトを秒で指定します(初期値:600 [秒])。 オリジナルの FTPClient#setDataTimeout( int ) は、ミリ秒でセット しますが、ここのメソッドでは、秒でセットします。- 定義:
setTimeout
インタフェース内ConnectIF
- パラメータ:
timeout
- タイムアウト[秒]- 例外:
RuntimeException
- タイムアウトの指定が大きすぎた場合
-
setDisplay
実行状況の表示可否 を設定します(初期値:false:表示しない)。- 定義:
setDisplay
インタフェース内ConnectIF
- パラメータ:
isDisplay
- 実行状況の表示可否
-
setDebug
デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。 -
errAppend
処理中に発生したエラーメッセージをセットします。- パラメータ:
msg
- メッセージ化したいオブジェクト
-
errAppend
処理中に発生したエラーメッセージをセットします。- パラメータ:
msgs
- Object...
-
getErrMsg
処理中に発生したエラーメッセージを取り出します。
-