public final class SFTPConnect extends AbstractConnect
SFTPConnect.java は、共通的に使用される SFTP関連の基本機能を実装した、クラスです。
これは、org.apache.commons.net.ftp.FTPClient をベースに開発されています。
このクラスの実行には、commons-net-ftp-2.0.jar が必要です。
-host=SFTPサーバー -user=ユーザー -passwd=パスワード -remoteFile=SFTP先のファイル名 を必須設定します。
-localFile=ローカルのファイル名は、必須ではありませんが、-command=DEL の場合にのみ不要であり、
それ以外の command の場合は、必要です。
-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] は、SFTPサーバーに対しての処理の方法を指定します。
GET:SFTPサーバーからローカルにファイル転送します(初期値)。
PUT:ローカルファイルをSFTPサーバーに PUT(STORE、SAVE、UPLOAD、などと同意語)します。
DEL:SFTPサーバーの指定のファイルを削除します。この場合のみ、-localFile 属性の指定は不要です。
GETDIR,PUTDIR,DELDIR:指定のフォルダ以下のファイルを処理します。
-mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:SFTPサーバー)に取り込むファイルのディレクトリが
存在しない場合に、作成するかどうかを指定します(初期値:true)。
通常、SFTPサーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。
逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には
false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。
引数文字列中に空白を含む場合は、ダブルコーテーション("") で括って下さい。
引数文字列の 『=』の前後には、空白は挟めません。必ず、-key=value の様に
繋げてください。 SFTPConnect -host=SFTPサーバー -user=ユーザー -passwd=パスワード -remoteFile=SFTP先のファイル名 [-localFile=ローカルのファイル名]
[-mode=[ASCII/BINARY] ] [-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] ] [-passive=[true/false] ]
-host=SFTPサーバー :接続先のSFTPサーバーのアドレスまたは、サーバー名
-user=ユーザー :接続するユーザー名
-remoteFile=SFTP先のファイル名 :接続先のSFTPサーバー側のファイル名。PUT,GET 関係なくSFTP側として指定します。
[-passwd=パスワード] :接続するユーザーのパスワード
[-localFile=ローカルのファイル名] :ローカルのファイル名。PUT,GET 関係なくローカルファイルを指定します。
[-port=ポート ] :接続するサーバーのポートを指定します。
[-keyFile=秘密キーファイル ] :公開キー暗号化方式を利用する場合のキーファイル名を指定します。
[-command=[GET/PUT/DEL] ] :SFTPサーバー側での処理の方法を指定します。
[GETDIR/PUTDIR/DELDIR]] GET:SFTP⇒LOCAL、PUT:LOCAL⇒SFTP への転送です(初期値:GET)
DEL:SFTPファイルを削除します。
GETDIR,PUTDIR,DELDIR 指定のフォルダ以下のファイルを処理します。
[-mkdirs=[true/false] ] :受け側ファイル(GET時:LOCAL、PUT時:SFTPサーバー)にディレクトリを作成するかどうか(初期値:true)
(false:ディレクトリが無ければ、エラーにします。)
[-timeout=タイムアウト[秒] ] :Dataタイムアウト(初期値:600 [秒])
[-display=[false/true] ] :trueは、検索状況を表示します(初期値:false)
[-debug=[false|true] ] :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])| コンストラクタと説明 |
|---|
SFTPConnect()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
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()
SFTPサーバーへの接続、ログインを行います。
|
void |
disconnect()
SFTPサーバーとの接続をクローズします。
|
static void |
main(java.lang.String[] args)
このクラスの動作確認用の、main メソッドです。
|
void |
setKeyFile(java.lang.String keyFile)
公開キー暗号化方式を利用する場合のキーファイル名を指定します。
|
action, actionPUTdir, addFile, errAppend, errAppend, getErrMsg, getPort, getPort, makeLocalDir, setDebug, setDisplay, setHostUserPass, setMkdirs, setPort, setTimeoutpublic SFTPConnect()
public void connect()
connect インタフェース内 ConnectIFconnect クラス内 AbstractConnectpublic void disconnect()
disconnect インタフェース内 ConnectIFdisconnect クラス内 AbstractConnectprotected void actionGET(java.lang.String localFile,
java.lang.String remoteFile)
throws java.io.IOException
actionGET クラス内 AbstractConnectlocalFile - ローカルのファイル名remoteFile - SFTP先のファイル名java.io.IOException - 入出力エラーが発生したときprotected void actionGETdir(java.lang.String localDir,
java.lang.String remoteDir)
throws java.io.IOException
actionGETdir クラス内 AbstractConnectlocalDir - ローカルのディレクトリ名remoteDir - SFTP先のディレクトリ名java.io.IOException - 入出力エラーが発生したときprotected void actionPUT(java.lang.String localFile,
java.lang.String remoteFile)
throws java.io.IOException
actionPUT クラス内 AbstractConnectlocalFile - ローカルのファイル名remoteFile - SFTP先のファイル名java.io.IOException - 処理中に Sftp エラーが発生した場合protected void actionDEL(java.lang.String remoteFile)
throws java.io.IOException
actionDEL クラス内 AbstractConnectremoteFile - SFTP先のファイル名java.io.IOException - SFTPサーバー側のファイル名の削除に失敗したときprotected void actionDELdir(java.lang.String remoteDir)
throws java.io.IOException
actionDELdir クラス内 AbstractConnectremoteDir - SFTP先のディレクトリ名java.io.IOException - SFTPサーバー側のディレクトリ名の削除に失敗したときpublic void setKeyFile(java.lang.String keyFile)
keyFile - 秘密キーファイル名public static void main(java.lang.String[] args)
args - コマンド引数配列Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.