クラス 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 intStringBilderなどの初期値を設定します。protected static final Stringシステムの改行コードを設定します。static final boolean異常フラグ falsestatic final boolean正常フラグ trueprotected Stringサーバーprotected booleanデバッグ情報を表示するかどうかprotected boolean検索状況を表示するかどうかprotected booleanディレクトリを作成するかどうかprotected Stringパスワードprotected Stringポートprotected intDataタイムアウトstatic final intDataタイムアウト(初期値:600 [秒])protected Stringユーザー -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明voidcommand , localFile , remoteFile を元に、FTP処理を行います。protected abstract voidcommand="DEL" が指定されたときの処理を行います。protected abstract voidactionDELdir(String remoteDir) command="DELDIR" が指定されたときの処理を行います。protected abstract voidcommand="GET" が指定されたときの処理を行います。protected abstract voidactionGETdir(String localDir, String remoteDir) command="GETDIR" が指定されたときの処理を行います。protected abstract voidcommand="PUT" が指定されたときの処理を行います。protected voidactionPUTdir(String localDir, String remoteDir) command="PUTDIR" が指定されたときの処理を行います。protected Stringディレクトリとファイル名を合成します。abstract voidconnect()サーバーへの接続、ログインを行います。abstract voidサーバーとの接続をクローズします。protected void処理中に発生したエラーメッセージをセットします。protected void処理中に発生したエラーメッセージをセットします。処理中に発生したエラーメッセージを取り出します。protected StringgetPort()ポートを取得します。protected intgetPort(int defPort) ポートを取得します。protected voidmakeLocalDir(String localFile) ローカルファイルのディレクトリを作成します。voidsetDebug(boolean isDebug) デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。voidsetDisplay(boolean isDisplay) 実行状況の表示可否 を設定します(初期値:false:表示しない)。voidsetHostUserPass(String host, String user, String passwd) サーバーの、ホスト、ユーザー、パスワードを設定します。voidsetMkdirs(boolean isMkdirs) それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。void接続に利用するポート番号を設定します。voidsetTimeout(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
処理中に発生したエラーメッセージを取り出します。
-