パッケージ org.opengion.fukurou.util

クラス AbstractConnect

java.lang.Object
org.opengion.fukurou.util.AbstractConnect
すべての実装されたインタフェース:
ConnectIF
直系の既知のサブクラス:
FTPConnect, SFTPConnect, SMBConnect

public abstract class AbstractConnect extends Object implements ConnectIF
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
    異常フラグ false
    static final boolean
    正常フラグ true
    protected String
    サーバー
    protected boolean
    デバッグ情報を表示するかどうか
    protected boolean
    検索状況を表示するかどうか
    protected boolean
    ディレクトリを作成するかどうか
    protected String
    パスワード
    protected String
    ポート
    protected int
    Dataタイムアウト
    static final int
    Dataタイムアウト(初期値:600 [秒])
    protected String
    ユーザー
  • コンストラクタの概要

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    デフォルトコンストラクター
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    action(String command, String localFile, String remoteFile)
    command , localFile , remoteFile を元に、FTP処理を行います。
    protected abstract void
    actionDEL(String remoteFile)
    command="DEL" が指定されたときの処理を行います。
    protected abstract void
    actionDELdir(String remoteDir)
    command="DELDIR" が指定されたときの処理を行います。
    protected abstract void
    actionGET(String localFile, String remoteFile)
    command="GET" が指定されたときの処理を行います。
    protected abstract void
    actionGETdir(String localDir, String remoteDir)
    command="GETDIR" が指定されたときの処理を行います。
    protected abstract void
    actionPUT(String localFile, String remoteFile)
    command="PUT" が指定されたときの処理を行います。
    protected void
    actionPUTdir(String localDir, String remoteDir)
    command="PUTDIR" が指定されたときの処理を行います。
    protected String
    addFile(String dir, String file)
    ディレクトリとファイル名を合成します。
    abstract void
    サーバーへの接続、ログインを行います。
    abstract void
    サーバーとの接続をクローズします。
    protected void
    処理中に発生したエラーメッセージをセットします。
    protected void
    errAppend(Object... msgs)
    処理中に発生したエラーメッセージをセットします。
    処理中に発生したエラーメッセージを取り出します。
    protected String
    ポートを取得します。
    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 [秒])。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

    • AbstractConnect

      protected AbstractConnect()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • connect

      public abstract void connect()
      サーバーへの接続、ログインを行います。
      定義:
      connect インタフェース内 ConnectIF
    • action

      public void action(String command, String localFile, String remoteFile)
      command , localFile , remoteFile を元に、FTP処理を行います。 このメソッドは、connect( String , String , String )メソッド、および、 paramInit() 実行後に、呼び出す必要があります。 ※ 内部で、command に指定できない値をセットしたか、何らかのエラーが発生した場合。
      定義:
      action インタフェース内 ConnectIF
      パラメータ:
      command - GET:HOST⇒LOCAL 、PUT:LOCAL⇒HOST 、DEL:HOSTファイルを削除
      localFile - ローカルのファイル名
      remoteFile - HOST接続先のファイル名
      変更履歴:
      6.4.2.0 (2016/01/29) ex.printStackTrace() を、ThrowUtil#ogStackTrace(Throwable) に置き換え。
    • disconnect

      public abstract void disconnect()
      サーバーとの接続をクローズします。 ログインされている場合は、ログアウトも行います。 コネクトされている場合は、ディスコネクトします。
      定義:
      disconnect インタフェース内 ConnectIF
    • actionGET

      protected abstract void actionGET(String localFile, String remoteFile) throws IOException
      command="GET" が指定されたときの処理を行います。 接続先のサーバー側のファイル名をローカルにダウンロードします。
      パラメータ:
      localFile - ローカルのファイル名
      remoteFile - 接続先のファイル名
      例外:
      IOException - 何らかのエラーが発生した場合。
      変更履歴:
      6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
    • actionGETdir

      protected abstract void actionGETdir(String localDir, String remoteDir) throws IOException
      command="GETDIR" が指定されたときの処理を行います。 接続先のサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。
      パラメータ:
      localDir - ローカルのディレクトリ名
      remoteDir - 接続先のディレクトリ名
      例外:
      IOException - 何らかのエラーが発生した場合。
      変更履歴:
      6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
    • actionPUT

      protected abstract void actionPUT(String localFile, String remoteFile) throws IOException
      command="PUT" が指定されたときの処理を行います。 ローカルファイルを、接続先のサーバー側にアップロードします。
      パラメータ:
      localFile - ローカルのファイル名
      remoteFile - 接続先のファイル名
      例外:
      IOException - 何らかのエラーが発生した場合。
      変更履歴:
      6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
    • actionPUTdir

      protected void actionPUTdir(String localDir, String remoteDir) throws IOException
      command="PUTDIR" が指定されたときの処理を行います。 ローカルファイルのディレクトリ以下を、接続先のサーバー側のディレクトリに階層構造のままアップロードします。
      パラメータ:
      localDir - ローカルのディレクトリ名
      remoteDir - 接続先のディレクトリ名
      例外:
      IOException - 何らかのエラーが発生した場合。
      変更履歴:
      5.3.7.0 (2011/07/01) フォルダにアクセスできない場合は、エラーを返します。, 6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
    • actionDEL

      protected abstract void actionDEL(String remoteFile) throws IOException
      command="DEL" が指定されたときの処理を行います。 接続先のサーバー側のファイル名を削除します。
      パラメータ:
      remoteFile - 接続先のファイル名
      例外:
      IOException - 何らかのエラーが発生した場合。
      変更履歴:
      6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
    • actionDELdir

      protected abstract void actionDELdir(String remoteDir) throws IOException
      command="DELDIR" が指定されたときの処理を行います。 接続先のサーバー側のディレクトリ名を削除します。
      パラメータ:
      remoteDir - 接続先のディレクトリ名
      例外:
      IOException - 何らかのエラーが発生した場合。
      変更履歴:
      6.0.2.5 (2014/10/31) throws で、Exception を返していたのを、IOException に限定します。
    • makeLocalDir

      protected void makeLocalDir(String localFile) throws IOException
      ローカルファイルのディレクトリを作成します。 引数のファイル名は、ファイル名です。作成するディレクトリは、そのファイルオブジェクトの getParentFile() で取得されるディレクトリまでを作成します。 ※ ローカルファイルのディレクトリの作成に失敗した場合は、RuntimeException が throw されます。
      パラメータ:
      localFile - ローカルのファイル名
      例外:
      IOException - File#getCanonicalFile() で発生する入出力エラー
    • addFile

      protected String addFile(String dir, String file)
      ディレクトリとファイル名を合成します。 単純に、ディレクトリの最後と、ファイルの最初の、"/" をチェックし、 存在すれば、そのまま、結合し、存在しなければ、"/" を追加します。 両方に存在する場合は、片方をはずします。
      パラメータ:
      dir - ディレクトリ名
      file - ファイル名
      戻り値:
      合成されたファイル名
    • setHostUserPass

      public void setHostUserPass(String host, String user, String passwd)
      サーバーの、ホスト、ユーザー、パスワードを設定します。
      定義:
      setHostUserPass インタフェース内 ConnectIF
      パラメータ:
      host - サーバー
      user - ユーザー
      passwd - パスワード
    • setPort

      public void setPort(String port)
      接続に利用するポート番号を設定します。
      定義:
      setPort インタフェース内 ConnectIF
      パラメータ:
      port - 接続に利用するポート番号
    • getPort

      protected String getPort()
      ポートを取得します。 設定されている生のport属性(nullもありうる)を返します。
      戻り値:
      ポート
    • getPort

      protected int getPort(int defPort)
      ポートを取得します。 設定されているport属性が、nullの場合は、defPortを返します。
      パラメータ:
      defPort - port が null の場合の初期値
      戻り値:
      ポート
    • setMkdirs

      public void setMkdirs(boolean isMkdirs)
      それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。 -mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:サーバー)に取り込むファイルのディレクトリが 存在しない場合に、作成するかどうかを指定します(初期値:true) 通常、サーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。 逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。
      定義:
      setMkdirs インタフェース内 ConnectIF
      パラメータ:
      isMkdirs - 受け側ファイルにディレクトリを作成するかどうか。true:作成する
    • setTimeout

      public void setTimeout(int timeout)
      タイムアウトを秒で指定します(初期値:600 [秒])。 オリジナルの FTPClient#setDataTimeout( int ) は、ミリ秒でセット しますが、ここのメソッドでは、秒でセットします。
      定義:
      setTimeout インタフェース内 ConnectIF
      パラメータ:
      timeout - タイムアウト[秒]
      例外:
      RuntimeException - タイムアウトの指定が大きすぎた場合
    • setDisplay

      public void setDisplay(boolean isDisplay)
      実行状況の表示可否 を設定します(初期値:false:表示しない)。
      定義:
      setDisplay インタフェース内 ConnectIF
      パラメータ:
      isDisplay - 実行状況の表示可否
    • setDebug

      public void setDebug(boolean isDebug)
      デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。
      定義:
      setDebug インタフェース内 ConnectIF
      パラメータ:
      isDebug - デバッグ情報の表示可否
    • errAppend

      protected void errAppend(Object msg)
      処理中に発生したエラーメッセージをセットします。
      パラメータ:
      msg - メッセージ化したいオブジェクト
    • errAppend

      protected void errAppend(Object... msgs)
      処理中に発生したエラーメッセージをセットします。
      パラメータ:
      msgs - Object...
    • getErrMsg

      public String getErrMsg()
      処理中に発生したエラーメッセージを取り出します。
      定義:
      getErrMsg インタフェース内 ConnectIF
      戻り値:
      エラーメッセージ
      このメソッドは、nullを返しません