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

クラス AbstractConnect

  • すべての実装されたインタフェース:
    ConnectIF
    直系の既知のサブクラス:
    FTPConnect, SFTPConnect, SMBConnect

    public abstract class AbstractConnect
    extends java.lang.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 の様に 繋げてください。
    形式サンプル:
    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[表示しない])
    変更履歴:
    5.1.6.0 (2010/05/01) 新規追加
    バージョン
    5.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      protected static int BUFFER_MIDDLE
      StringBilderなどの初期値を設定します。
      protected static java.lang.String CR
      システムの改行コードを設定します。
      static boolean FLAG_NG
      異常フラグ false
      static boolean FLAG_OK
      正常フラグ true
      protected java.lang.String host
      サーバー
      protected boolean isDebug
      デバッグ情報を表示するかどうか
      protected boolean isDisplay
      検索状況を表示するかどうか
      protected boolean isMkdirs
      ディレクトリを作成するかどうか
      protected java.lang.String passwd
      パスワード
      protected java.lang.String port
      ポート
      protected int timeout
      Dataタイムアウト
      static int TIMEOUT
      Dataタイムアウト(初期値:600 [秒])
      protected java.lang.String user
      ユーザー
    • コンストラクタの概要

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

      すべてのメソッド インスタンス・メソッド abstractメソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      void action​(java.lang.String command, java.lang.String localFile, java.lang.String remoteFile)
      command , localFile , remoteFile を元に、FTP処理を行います。
      protected abstract void actionDEL​(java.lang.String remoteFile)
      command="DEL" が指定されたときの処理を行います。
      protected abstract void actionDELdir​(java.lang.String remoteDir)
      command="DELDIR" が指定されたときの処理を行います。
      protected abstract void actionGET​(java.lang.String localFile, java.lang.String remoteFile)
      command="GET" が指定されたときの処理を行います。
      protected abstract void actionGETdir​(java.lang.String localDir, java.lang.String remoteDir)
      command="GETDIR" が指定されたときの処理を行います。
      protected abstract void actionPUT​(java.lang.String localFile, java.lang.String remoteFile)
      command="PUT" が指定されたときの処理を行います。
      protected void actionPUTdir​(java.lang.String localDir, java.lang.String remoteDir)
      command="PUTDIR" が指定されたときの処理を行います。
      protected java.lang.String addFile​(java.lang.String dir, java.lang.String file)
      ディレクトリとファイル名を合成します。
      abstract void connect()
      サーバーへの接続、ログインを行います。
      abstract void disconnect()
      サーバーとの接続をクローズします。
      protected void errAppend​(java.lang.Object msg)
      処理中に発生したエラーメッセージをセットします。
      protected void errAppend​(java.lang.Object... msgs)
      処理中に発生したエラーメッセージをセットします。
      java.lang.String getErrMsg()
      処理中に発生したエラーメッセージを取り出します。
      protected java.lang.String getPort()
      ポートを取得します。
      protected int getPort​(int defPort)
      ポートを取得します。
      protected void makeLocalDir​(java.lang.String localFile)
      ローカルファイルのディレクトリを作成します。
      void setDebug​(boolean isDebug)
      デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。
      void setDisplay​(boolean isDisplay)
      実行状況の表示可否 を設定します(初期値:false:表示しない)。
      void setHostUserPass​(java.lang.String host, java.lang.String user, java.lang.String passwd)
      サーバーの、ホスト、ユーザー、パスワードを設定します。
      void setMkdirs​(boolean isMkdirs)
      それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。
      void setPort​(java.lang.String port)
      接続に利用するポート番号を設定します。
      void setTimeout​(int timeout)
      タイムアウトを秒で指定します(初期値:600 [秒])。
      • クラスから継承されたメソッド java.lang.Object

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

      • CR

        protected static final java.lang.String CR
        システムの改行コードを設定します。
      • BUFFER_MIDDLE

        protected static final int BUFFER_MIDDLE
        StringBilderなどの初期値を設定します。 200
        関連項目:
        定数フィールド値
      • TIMEOUT

        public static final int TIMEOUT
        Dataタイムアウト(初期値:600 [秒])
        関連項目:
        定数フィールド値
      • host

        protected java.lang.String host
        サーバー
      • user

        protected java.lang.String user
        ユーザー
      • passwd

        protected java.lang.String passwd
        パスワード
      • port

        protected java.lang.String port
        ポート
      • isMkdirs

        protected boolean isMkdirs
        ディレクトリを作成するかどうか
      • timeout

        protected int timeout
        Dataタイムアウト
      • isDisplay

        protected boolean isDisplay
        検索状況を表示するかどうか
      • isDebug

        protected boolean isDebug
        デバッグ情報を表示するかどうか
    • コンストラクタの詳細

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

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

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

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

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

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

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

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

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

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

        protected java.lang.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 - タイムアウト[秒]
        例外:
        java.lang.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​(java.lang.Object msg)
        処理中に発生したエラーメッセージをセットします。
        パラメータ:
        msg - メッセージ化したいオブジェクト
      • errAppend

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

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