투케이2K

860. (Android/Java) [jsch] SFTP 라이브러리 - 원격 서버 파일 존재 여부 확인 실시 - getSftpFileExists 본문

Android

860. (Android/Java) [jsch] SFTP 라이브러리 - 원격 서버 파일 존재 여부 확인 실시 - getSftpFileExists

투케이2K 2024. 9. 1. 09:52

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

 

    // ------------------------------------------------------------------------------------------
    // TODO [SFTP 서버 파일 목록 확인 수행]
    // ------------------------------------------------------------------------------------------
    public synchronized boolean getSftpFileExists(String sftpPath, String fileName) {
        S_Log._D_("SFTP 서버 파일 존재 확인 수행", new String[]{ "sftpPath :: " + String.valueOf(sftpPath), "fileName :: " + String.valueOf(fileName) });


        /*
        D  ===================================================================
        [LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_SFTP_Client_Module.getSftpFileExists(C_SFTP_Client_Module.java:734)]
        ----------------------------------------------------
        [LOG :: NOW TIME :: 2024-08-31 18:33:21 토요일]
        ----------------------------------------------------
        [LOG :: DESCRIPTION :: SFTP 서버 파일 존재 확인 수행]
        ----------------------------------------------------
        [LOG :: sftpPath :: /test]
        ----------------------------------------------------
        [LOG :: fileName :: log.txt]
        D  ===================================================================


        D  ===================================================================
        [LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_SFTP_Client_Module.getSftpFileExists(C_SFTP_Client_Module.java:769)]
        ----------------------------------------------------
        [LOG :: NOW TIME :: 2024-08-31 18:33:21 토요일]
        ----------------------------------------------------
        [LOG :: DESCRIPTION :: SFTP 서버 파일 존재 확인 성공]
        ----------------------------------------------------
        [LOG :: false]
        D  ===================================================================
        // */


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


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

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

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

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

                        // [해당 원격 경로 이동 수행]
                        channelSftp.cd(sftpPath);

                        // [저장 된 파일 목록 확인]
                        Vector<ChannelSftp.LsEntry> fileAndFolderList = channelSftp.ls(sftpPath);

                        if (fileAndFolderList != null && fileAndFolderList.size()>0 && fileAndFolderList.isEmpty() == false){

                            for (int i=0; i<fileAndFolderList.size(); i++){
                                if (String.valueOf(fileAndFolderList.get(i).getFilename()).equals(fileName) == true){
                                    result = true;
                                    break;
                                }
                            }

                            S_Log._W_("SFTP 서버 파일 존재 확인 성공", new String[]{String.valueOf(result)});
                        }
                        else {
                            S_Log._E_("SFTP 서버 파일 존재 확인 에러 발생", new String[]{ "Error :: channelSftp.ls Is Null" });
                        }

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

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

            }
            else {
                S_Log._E_("SFTP 서버 파일 존재 확인 에러 발생", new String[]{ "Error :: mMainCtx Is Null or channelSftp Not Null or isConnection false" });
            }

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

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

 

반응형
Comments