クラス SMBConnect
java.lang.Object
org.opengion.fukurou.util.AbstractConnect
org.opengion.fukurou.util.SMBConnect
- すべての実装されたインタフェース:
ConnectIF
SMBConnect.java は、共通的に使用される Smb関連の基本機能を実装した、クラスです。
これは、jcifs.smb パッケージをベースに開発されています。
このクラスの実行には、jcifs-1.3.14.jar が必要です。
接続先のURL schemeは、以下の形式をしています。
smb://[[[domain;]username[:password]@]server[:port]/[[share/[dir/]file]]][?[param=value[param2=value2[...]]]
このURLは、内部的に自動作成します。/[[share/[dir/]file]] 部分が、remoteFile として指定する部分になります。 *
-host=Smbサーバー -user=ユーザー -passwd=パスワード -remoteFile=Smb先のファイル名 を必須設定します。
-localFile=ローカルのファイル名は、必須ではありませんが、-command=DEL の場合にのみ不要であり、
それ以外の command の場合は、必要です。
-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] は、SFTPサーバーに対しての処理の方法を指定します。
GET:Smbサーバーからローカルにファイル転送します(初期値)
PUT:ローカルファイルをSmbサーバーに PUT(STORE、SAVE、UPLOAD、などと同意語)します。
DEL:Smbサーバーの指定のファイルを削除します。この場合のみ、-localFile 属性の指定は不要です。
GETDIR,PUTDIR,DELDIR:指定のフォルダ以下のファイルを処理します。
-mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:Smbサーバー)に取り込むファイルのディレクトリが
存在しない場合に、作成するかどうかを指定します(初期値:true)。
通常、Smbサーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。
逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には
false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。
引数文字列中に空白を含む場合は、ダブルコーテーション("") で括って下さい。
引数文字列の 『=』の前後には、空白は挟めません。必ず、-key=value の様に
繋げてください。
- 変更履歴:
- 5.1.6.0 (2010/05/01) 新規追加
- 形式サンプル:
- SMBConnect -host=Smbサーバー -user=ユーザー -passwd=パスワード -remoteFile=Smb先のファイル名 [-localFile=ローカルのファイル名] [-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] ] ] -host=Smbサーバー :接続先のSmbサーバーのアドレスまたは、サーバー名 -user=ユーザー :接続するユーザー名 -passwd=パスワード :接続するユーザーのパスワード -remoteFile=Smb先のファイル名 :接続先のSmbサーバー側のファイル名。PUT,GET 関係なくSmb側として指定します。 [-localFile=ローカルのファイル名] :ローカルのファイル名。PUT,GET 関係なくローカルファイルを指定します。 [-domain=ドメイン ] :接続するサーバーのドメインを指定します。 [-port=ポート ] :接続するサーバーのポートを指定します。 [-command=[GET/PUT/DEL] ] :Smbサーバー側での処理の方法を指定します。 [GETDIR/PUTDIR/DELDIR]] GET:Smb⇒LOCAL、PUT:LOCAL⇒Smb への転送です(初期値:GET) DEL:Smbファイルを削除します。 GETDIR,PUTDIR,DELDIR 指定のフォルダ以下のファイルを処理します。 [-mkdirs=[true/false] ] :受け側ファイル(GET時:LOCAL、PUT時:Smbサーバー)にディレクトリを作成するかどうか(初期値:true) (false:ディレクトリが無ければ、エラーにします。) [-display=[false/true] ] :trueは、検索状況を表示します(初期値:false) [-debug=[false|true] ] :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected void
command="DEL" が指定されたときの処理を行います。protected void
actionDELdir
(String remoteDir) command="DELDIR" が指定されたときの処理を行います。protected void
command="GET" が指定されたときの処理を行います。protected void
actionGETdir
(String localDir, String remoteDir) command="GETDIR" が指定されたときの処理を行います。protected void
command="PUT" が指定されたときの処理を行います。void
connect()
Smbサーバーへの接続、ログインを行います。void
Smbサーバーとの接続をクローズします。static void
このクラスの動作確認用の、main メソッドです。void
接続先にログインするドメインを設定します。クラスから継承されたメソッド org.opengion.fukurou.util.AbstractConnect
action, actionPUTdir, addFile, errAppend, errAppend, getErrMsg, getPort, getPort, makeLocalDir, setDebug, setDisplay, setHostUserPass, setMkdirs, setPort, setTimeout
-
コンストラクタの詳細
-
SMBConnect
public SMBConnect()
-
-
メソッドの詳細
-
connect
Smbサーバーへの接続、ログインを行います。 このメソッドは、初期化メソッドです。 Smbサーバーへの接続、ログインを行いますので、複数ファイルを転送する ケースでは、最初に1度だけ呼び出すだけです。 接続先を変更する場合は、もう一度このメソッドをコールする必要があります。 (そのような場合は、通常、オブジェクトを構築しなおす方がよいと思います。) 接続時のアドレスは、下記の形式になりますが、ファイル名の箇所は、action 時に指定するため、 ここでは、先頭部分を先に用意しておきます。 smb://[[[domain;]username[:password]@]server[:port]/[[share/[dir/]file]]][?[param=value[param2=value2[...]]]- 定義:
connect
インタフェース内ConnectIF
- 定義:
connect
クラス内AbstractConnect
-
disconnect
Smbサーバーとの接続をクローズします。 ここでは、何も処理を行いません。- 定義:
disconnect
インタフェース内ConnectIF
- 定義:
disconnect
クラス内AbstractConnect
-
actionGET
command="GET" が指定されたときの処理を行います。 接続先のSmbサーバー側のファイル名をローカルにダウンロードします。- 定義:
actionGET
クラス内AbstractConnect
- パラメータ:
localFile
- ローカルのファイル名remoteFile
- Smb先のファイル名- 例外:
IOException
- 入出力エラーが発生したとき
-
actionGETdir
command="GETDIR" が指定されたときの処理を行います。 接続先のSmbサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。- 定義:
actionGETdir
クラス内AbstractConnect
- パラメータ:
localDir
- ローカルのディレクトリ名remoteDir
- Smb先のディレクトリ名- 例外:
IOException
- 入出力エラーが発生したとき
-
actionPUT
command="PUT" が指定されたときの処理を行います。 ローカルファイルを、接続先のSmbサーバー側にアップロードします。- 定義:
actionPUT
クラス内AbstractConnect
- パラメータ:
localFile
- ローカルのファイル名remoteFile
- Smb先のファイル名- 例外:
IOException
- 入出力エラーが発生したとき
-
actionDEL
command="DEL" が指定されたときの処理を行います。 接続先のSmbサーバー側のファイル名を削除します。- 定義:
actionDEL
クラス内AbstractConnect
- パラメータ:
remoteFile
- Smb先のファイル名- 例外:
IOException
- 入出力エラーが発生したとき
-
actionDELdir
command="DELDIR" が指定されたときの処理を行います。 接続先のSmbサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。- 定義:
actionDELdir
クラス内AbstractConnect
- パラメータ:
remoteDir
- Smb先のディレクトリ名- 例外:
IOException
- 入出力エラーが発生したとき
-
setDomain
接続先にログインするドメインを設定します。- パラメータ:
domain
- 接続先にログインするドメイン
-
main
このクラスの動作確認用の、main メソッドです。- パラメータ:
args
- コマンド引数配列
-