투케이2K

133. (TWOK/UTIL) [Android/Java] C_FTP_Client_Module : FTP 클라이언트 유틸 파일 본문

투케이2K 유틸파일

133. (TWOK/UTIL) [Android/Java] C_FTP_Client_Module : FTP 클라이언트 유틸 파일

투케이2K 2024. 10. 2. 20:30

[설 명]

프로그램 : Android / Java

설 명 : C_FTP_Client_Module : FTP 클라이언트 유틸 파일

 

[소스 코드]

 

package com.example.javaproject.C_Module;

import android.content.Context;

import com.example.javaproject.C_Util;
import com.example.javaproject.S_Log;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Arrays;
import java.util.Properties;

public class C_FTP_Client_Module {



    /**
     * // --------------------------------------------------------------------------------------
     * TODO [클래스 설명]
     * // --------------------------------------------------------------------------------------
     * 1. FTP 파일 전송 클라이언트 클래스
     * // --------------------------------------------------------------------------------------
     * 2. 필요 라이브러리 :
     *
     * // TODO [FTP 통신 jar 파일]
     * implementation files('libs/commons-net-3.11.1.jar')
     * // --------------------------------------------------------------------------------------
     * 3. jar 라이브러리 다운로드 참고 사이트 :
     *
     * https://commons.apache.org/proper/commons-net/download_net.cgi
     *
     * TODO https://central.sonatype.com/artifact/commons-net/commons-net/3.6/versions
     *
     * TODO https://repo1.maven.org/maven2/commons-net/commons-net/3.6/
     * // --------------------------------------------------------------------------------------
     * */





    /**
     * // --------------------------------------------------------------------------------------
     * TODO [빠른 로직 찾기 : 주석 로직 찾기]
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     */





    // ------------------------------------------------------------------------------------------
    // TODO [사용 방법]
    // ------------------------------------------------------------------------------------------
    /*
    try {

        new Thread(new Runnable() {
            @Override
            public void run() {

                // -------------------------------------------------
                // TODO [1]. [FTP 서버 접속을 위한 변수 선언]
                // -------------------------------------------------
                String userName = "test123";
                String host = "test.ftp.co.kr";
                int port = 21;
                String password = "admin1234";


                // --------------------------------------
                // TODO [2]. [FTP 클라이언트 클래스 인스턴스 초기화]
                // --------------------------------------
                C_FTP_Client_Module c_ftp_client_module = C_FTP_Client_Module.getInstance();
                c_ftp_client_module.setContext(A_Test.this);


                // --------------------------------------
                // TODO [3]. [FTP 서버 연결 수행]
                // --------------------------------------
                if(c_ftp_client_module.connectServer(userName, host, port, password) == true) { // [서버 연결 상태 확인]

                    // -------------------------------------------
                    // TODO [파일 목록 확인 수행]
                    // -------------------------------------------
                    //c_ftp_client_module.getFtpFileList("/html");


                    // -------------------------------------------
                    // TODO [특정 파일 포함 확인 수행]
                    // -------------------------------------------
                    //String ftpPath = "/html";
                    //String fileName = "functionTest.html";

                    //c_ftp_client_module.getFtpFileExists(ftpPath, fileName);


                    // -------------------------------------------
                    // TODO [파일 업로드 수행]
                    // -------------------------------------------
                    //String originPath = C_App.innerFilePath(A_Test.this) + "/LOG_FILE_FOLDER/APP_CRASH_LOG_FILE.txt";

                    //String ftpPath = "/html";
                    //String ftpFileName = "log.txt";

                    //boolean result = c_ftp_client_module.upLoadFile(originPath, ftpPath, ftpFileName);

                    //S_Log._W_("FTP 파일 업로드 결과 확인", new String[]{String.valueOf(result)});


                    // -------------------------------------------
                    // TODO [파일 다운 로드 수행]
                    // -------------------------------------------

                    //String appPath = C_App.innerFilePath(A_Test.this) + "/LOG_FILE_FOLDER";
                    //String appFileName = "log.txt";

                    //String ftpPath = "/html/log.txt";

                    //boolean result = c_ftp_client_module.downLoadFile(appPath, appFileName, ftpPath);

                    //S_Log._W_("FTP 파일 다운 로드 결과 확인", new String[]{String.valueOf(result)});


                    // -------------------------------------------
                    // TODO [파일 명칭 변경 수행]
                    // -------------------------------------------
                    //String originPath = "/html/log.txt";
                    //String newPath = "/html/log2.txt";

                    //boolean result = c_ftp_client_module.renameFile(originPath, newPath);

                    //S_Log._W_("FTP 파일 명칭 변경 결과 확인", new String[]{String.valueOf(result)});


                    // -------------------------------------------
                    // TODO [파일 삭제 수행]
                    // -------------------------------------------
                    //String ftpPath = "/html/log.txt";

                    //boolean result = c_ftp_client_module.deleteFile(ftpPath);

                    //S_Log._W_("FTP 파일 삭제 결과 확인", new String[]{String.valueOf(result)});


                    // -------------------------------------------
                    // TODO [FTP 연결 종료]
                    // -------------------------------------------
                    //c_ftp_client_module.closeServer();

                }
                else {
                    S_Log._E_("SFTP 서버 연결 실패", null);
                }

            }
        }).start();

    }
    catch (Exception e) {
        e.printStackTrace();
    }
    */
    // ------------------------------------------------------------------------------------------





    // ------------------------------------------------------------------------------------------
    // TODO [전역 변수 선언]
    // ------------------------------------------------------------------------------------------
    private String ACTIVITY_NAME = "C_FTP_Client_Module";

    private Context mMainCtx; // [컨텍스트]

    boolean isConnection = false; // [연결 상태 체크 변수]

    FTPClient ftpClient = null; // [FTPClient]





    // ------------------------------------------------------------------------------------------
    // TODO [콘텍스트 지정]
    // ------------------------------------------------------------------------------------------
    public void setContext(Context ctx) {
        mMainCtx = ctx;
    }





    // ------------------------------------------------------------------------------------------
    // TODO [인스턴스 생성]
    // ------------------------------------------------------------------------------------------
    public static C_FTP_Client_Module getInstance() { return C_FTP_Client_Module.LazyHolder.INSTANCE; }
    private static class LazyHolder {
        private static final C_FTP_Client_Module INSTANCE = new C_FTP_Client_Module();
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 연결 실시]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean connectServer(String userName, String host, int port, String password) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 연결 수행", new String[]{
                "userName :: " + String.valueOf(userName),
                "host :: " + String.valueOf(host),
                "port :: " + String.valueOf(port),
                "pw :: " + String.valueOf(password)
        });


        // [변수 초기화]
        isConnection = false;


        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient == null){

                if (C_Util.stringNotNullMulti(new String[]{userName, host, String.valueOf(port), password}) == true){

                    ftpClient = new FTPClient();

                    ftpClient.connect(host, port); // [호스트 연결 수행]

                    if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode())){

                        ftpClient.login(userName, password); // [호스트 로그인 수행]

                        isConnection = ftpClient.isConnected(); // [변수에 연결 상태 값 저장 수행]

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 연결 수행 에러 발생", new String[]{ "Error :: isPositiveCompletion False" });

                        try {
                            if (ftpClient != null){
                                ftpClient.disconnect();
                            }
                            ftpClient = null;
                        }
                        catch (Exception es){}
                    }
                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 연결 수행 에러 발생", new String[]{ "Error :: Input Data Is Null" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 연결 수행 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }


        // [로그 출력 수행]
        S_Log._W_(ACTIVITY_NAME + " :: FTP 서버 연결 수행 결과 확인", new String[]{
                "RETURN :: " + String.valueOf(isConnection)
        });


        // [리턴 반환 수행]
        return isConnection;
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 연결 종료]
    // ------------------------------------------------------------------------------------------
    public synchronized void closeServer() {

        // [변수 초기화]
        isConnection = false;


        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient != null){

                try {
                    if (ftpClient.isConnected() == true){
                        ftpClient.disconnect();
                    }
                    ftpClient = null;
                }
                catch (Exception es){
                    es.printStackTrace();
                }

                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 연결 종료 수행", null);

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 연결 종료 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 목록 확인]
    // ------------------------------------------------------------------------------------------
    public synchronized FTPFile[] getFtpFileList(String path) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 파일 목록 확인 수행", new String[]{ "path :: " + String.valueOf(path) });

        // [리턴 변수 선언]
        FTPFile files[] = null;

        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient != null && isConnection == true){

                if (ftpClient.isConnected() == true){

                    if (C_Util.stringNotNull(path) == true){
                        files = ftpClient.listFiles(path); // [특정 경로 지정] : [/html]
                    }
                    else {
                        files = ftpClient.listFiles(); // [전체 루트 경로]
                    }

                    if (files != null && files.length > 0){
                        S_Log._W_(ACTIVITY_NAME + " :: FTP 서버 파일 목록 확인 수행", new String[]{ Arrays.toString(files) });
                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 목록 확인 에러 발생", new String[]{ "Error :: listFiles Is Null" });
                    }

                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 목록 확인 에러 발생", new String[]{ "Error :: ftpClient.isConnected() == false" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 목록 확인 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null or isConnection false" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [리턴 결과 반환]
        return files;
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 존재 확인]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean getFtpFileExists(String ftpPath, String fileName) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 파일 존재 확인 수행", new String[]{ "ftpPath :: " + String.valueOf(ftpPath), "fileName :: " + String.valueOf(fileName) });


        /*
        D  ===================================================================
        [LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_FTP_Client_Module.getFtpFileExists(C_FTP_Client_Module.java:366)]
        ----------------------------------------------------
        [LOG :: NOW TIME :: 2024-08-31 18:54:07 토요일]
        ----------------------------------------------------
        [LOG :: DESCRIPTION :: FTP 서버 파일 존재 확인 수행]
        ----------------------------------------------------
        [LOG :: ftpPath :: /html]
        ----------------------------------------------------
        [LOG :: fileName :: functionTest.html]
        D  ===================================================================


        D  ===================================================================
        [LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_FTP_Client_Module.getFtpFileExists(C_FTP_Client_Module.java:391)]
        ----------------------------------------------------
        [LOG :: NOW TIME :: 2024-08-31 18:54:07 토요일]
        ----------------------------------------------------
        [LOG :: DESCRIPTION :: FTP 서버 파일 존재 확인 성공]
        ----------------------------------------------------
        [LOG :: true]
        D  ===================================================================
        // */


        // [리턴 변수 선언]
        boolean result = false;


        // [로직 처리 수행]

        try {

            if (mMainCtx != null && ftpClient != null && isConnection == true){

                if (ftpClient.isConnected() == true){

                    if (C_Util.stringNotNull(ftpPath) == true && C_Util.stringNotNull(fileName) == true){

                        FTPFile [] files = ftpClient.listFiles(ftpPath); // [특정 경로 지정] : [/html]

                        if (files != null && files.length > 0){

                            for (int i=0; i<files.length; i++){
                                if (String.valueOf(files[i].getName()).equals(fileName) == true){
                                    result = true;
                                    break;
                                }
                            }

                            S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 존재 확인 성공", new String[]{ String.valueOf(result) });

                        }
                        else {
                            S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 존재 확인 에러 발생", new String[]{ "Error :: FTPFile Is Null" });
                        }

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 존재 확인 에러 발생", new String[]{ "Error :: Input Data Is Null" });
                    }

                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 존재 확인 에러 발생", new String[]{ "Error :: ftpClient.isConnected() == false" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 목록 존재 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null or isConnection false" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [리턴 결과 반환]
        return result;
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 업로드 수행]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean upLoadFile(String originPath, String ftpPath, String ftpFileName) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 수행", new String[]{ "originPath :: " + String.valueOf(originPath), "ftpPath :: " + String.valueOf(ftpPath), "ftpFileName :: " + String.valueOf(ftpFileName) });

        /*
         W  ===================================================================
        [LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_FTP_Client_Module.upLoadFile(C_FTP_Client_Module.java:341)]
        ----------------------------------------------------
        [LOG :: NOW TIME :: 2024-08-26 15:36:15 월요일]
        ----------------------------------------------------
        [LOG :: DESCRIPTION :: FTP 서버 파일 업로드 성공]
        ----------------------------------------------------
        [LOG :: FTP Path :: /html]
        ----------------------------------------------------
        [LOG :: FTP File Name :: log.txt]
        W  ===================================================================
        * */

        // [리턴 변수 선언]
        boolean result = false;

        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient != null && isConnection == true){

                if (ftpClient.isConnected() == true){

                    if (C_Util.stringNotNull(originPath) == true && C_Util.stringNotNull(ftpPath) == true && C_Util.stringNotNull(ftpFileName) == true){

                        // [해당 경로 파일 스트림 읽음]
                        File originFile = new File(originPath);

                        if (originFile.exists() == true){

                            if (ftpClient.changeWorkingDirectory(ftpPath) == true){

                                FileInputStream fis = new FileInputStream(originFile);

                                result = ftpClient.storeFile(ftpFileName, fis); // [파일 업로드 수행]

                                fis.close();

                                if (result == true){
                                    S_Log._W_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 성공", new String[]{ "FTP Path :: " + String.valueOf(ftpPath), "FTP File Name :: " + String.valueOf(ftpFileName) });
                                }
                                else {
                                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 실패", new String[]{ "FTP Path :: " + String.valueOf(ftpPath), "FTP File Name :: " + String.valueOf(ftpFileName) });
                                }
                            }
                            else {
                                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 에러 발생", new String[]{ "Error :: ftpClient.changeWorkingDirectory == false" });
                            }

                        }
                        else {
                            S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 에러 발생", new String[]{ "Error :: originFile Path Is Null" });
                        }

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 에러 발생", new String[]{ "Error :: File Path Is Null" });
                    }

                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 에러 발생", new String[]{ "Error :: ftpClient.isConnected() == false" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 업로드 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null or isConnection false" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [리턴 결과 반환]
        return result;
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 다운 로드 수행]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean downLoadFile(String appPath, String appFileName, String ftpPath) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 수행", new String[]{ "appPath :: " + String.valueOf(appPath), "appFileName :: " + String.valueOf(appFileName), "ftpPath :: " + String.valueOf(ftpPath) });

        // [리턴 변수 선언]
        boolean result = false;

        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient != null && isConnection == true){

                if (ftpClient.isConnected() == true){

                    if (C_Util.stringNotNull(appPath) == true && C_Util.stringNotNull(appFileName) == true && C_Util.stringNotNull(ftpPath) == true){

                        // [해당 경로 파일 스트림 읽음]
                        File appFile = new File(appPath);

                        if (appFile.exists() == true){

                            String srcPath = appPath;
                            if (appPath.endsWith("/") == true){
                                srcPath += appFileName;
                            }
                            else {
                                srcPath += "/" + appFileName;
                            }

                            // [파일 타입 지정]
                            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                            ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE);

                            // [FTP 서버 파일 다운 로드 수행]
                            FileOutputStream fos = new FileOutputStream(srcPath);

                            result = ftpClient.retrieveFile(ftpPath, fos);

                            fos.close();

                            if (result == true){
                                S_Log._W_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 성공", new String[]{ "FTP Path :: " + String.valueOf(ftpPath), "APP Path :: " + String.valueOf(srcPath) });
                            }
                            else {
                                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 실패", new String[]{ "FTP Path :: " + String.valueOf(ftpPath), "APP Path :: " + String.valueOf(appPath) });
                            }

                        }
                        else {
                            S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 에러 발생", new String[]{ "Error :: appFile Path Is Null" });
                        }

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 에러 발생", new String[]{ "Error :: File Path Is Null" });
                    }

                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 에러 발생", new String[]{ "Error :: ftpClient.isConnected() == false" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 다운 로드 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null or isConnection false" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [리턴 결과 반환]
        return result;
    }





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 삭제 수행]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean deleteFile(String ftpPath) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 파일 삭제 수행", new String[]{ "ftpPath :: " + String.valueOf(ftpPath) });

        // [리턴 변수 선언]
        boolean result = false;

        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient != null && isConnection == true){

                if (ftpClient.isConnected() == true){

                    if (C_Util.stringNotNull(ftpPath) == true){

                        // [파일 삭제 수행]
                        result = ftpClient.deleteFile(ftpPath);

                        if (result == true){
                            S_Log._W_(ACTIVITY_NAME + " :: FTP 서버 파일 삭제 성공", new String[]{ "result == true" });
                        }
                        else {
                            S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 삭제 실패", new String[]{ "result == false" });
                        }

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 삭제 에러 발생", new String[]{ "Error :: File Path Is Null" });
                    }

                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 삭제 에러 발생", new String[]{ "Error :: ftpClient.isConnected() == false" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 삭제 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null or isConnection false" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [리턴 결과 반환]
        return result;
    }






    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 명칭 변경 수행]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean renameFile(String oldFtpPath, String newFtpPath) {
        S_Log._D_(ACTIVITY_NAME + " :: FTP 서버 파일 명칭 변경 수행", new String[]{ "oldFtpPath :: " + String.valueOf(oldFtpPath), "newFtpPath :: " + String.valueOf(newFtpPath) });

        // [리턴 변수 선언]
        boolean result = false;

        // [로직 처리 수행]
        try {

            if (mMainCtx != null && ftpClient != null && isConnection == true){

                if (ftpClient.isConnected() == true){

                    if (C_Util.stringNotNullMulti(new String[]{oldFtpPath, newFtpPath}) == true){

                        // [파일 명칭 변경 수행]
                        result = ftpClient.rename(oldFtpPath, newFtpPath);

                        if (result == true){
                            S_Log._W_(ACTIVITY_NAME + " :: FTP 서버 파일 명칭 변경 성공", new String[]{ "result == true" });
                        }
                        else {
                            S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 명칭 변경 실패", new String[]{ "result == false" });
                        }

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 명칭 변경 에러 발생", new String[]{ "Error :: File Path Is Null" });
                    }

                }
                else {
                    S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 명칭 변경 에러 발생", new String[]{ "Error :: ftpClient.isConnected() == false" });
                }

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: FTP 서버 파일 명칭 변경 에러 발생", new String[]{ "Error :: mMainCtx Is Null or ftpClient Not Null or isConnection false" });
            }

        }
        catch (Exception e){
            e.printStackTrace();
        }

        // [리턴 결과 반환]
        return result;
    }


} // TODO [클래스 종료]

 

반응형
Comments