투케이2K

852. (Android/Java) [commons-net-3.6.jar] FTP 서버 연결 및 파일 삭제 수행 - deleteFile 본문

Android

852. (Android/Java) [commons-net-3.6.jar] FTP 서버 연결 및 파일 삭제 수행 - deleteFile

투케이2K 2024. 8. 26. 17:47
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

    // ------------------------------------------------------------------------------------------
    // TODO [전역 변수 선언 실시]
    // ------------------------------------------------------------------------------------------
    String userName = "twok123";
    String host = "towk.test.co.kr";
    int port = 21; // [FTP 포트]
    String password = "twok0123456789";

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

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

    FTPClient ftpClient = null; // [FTPClient]






    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 연결 실시]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean connectServer(String userName, String host, int port, String password) {
        S_Log._D_("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_("FTP 서버 연결 수행 에러 발생", new String[]{ "Error :: isPositiveCompletion False" });

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

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

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


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


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





    // ------------------------------------------------------------------------------------------
    // TODO [FTP 서버 파일 삭제 수행]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean deleteFile(String ftpPath) {
        S_Log._D_("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_("FTP 서버 파일 삭제 성공", new String[]{ "result == true" });
                        }
                        else {
                            S_Log._E_("FTP 서버 파일 삭제 실패", new String[]{ "result == false" });
                        }

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

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

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

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

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

 

반응형
Comments