Notice
Recent Posts
Recent Comments
Link
투케이2K
858. (Android/Java) [jsch] SFTP 라이브러리 - 원격 서버 파일 목록 확인 수행 실시 - getSftpFileList 본문
Android
858. (Android/Java) [jsch] SFTP 라이브러리 - 원격 서버 파일 목록 확인 수행 실시 - getSftpFileList
투케이2K 2024. 9. 1. 09:47[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java / Kotlin
[소스 코드]
// ------------------------------------------------------------------------------------------
// TODO [SFTP 서버 파일 목록 확인 수행]
// ------------------------------------------------------------------------------------------
// TODO [라이브러리 설치 버전] : implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54'
// ------------------------------------------------------------------------------------------
public synchronized ArrayList getSftpFileList(String sftpPath) {
S_Log._D_("SFTP 서버 파일 목록 확인 수행", new String[]{ "sftpPath :: " + String.valueOf(sftpPath) });
/*
D ===================================================================
[LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_SFTP_Client_Module.getFtpFileList(C_SFTP_Client_Module.java:613)]
----------------------------------------------------
[LOG :: NOW TIME :: 2024-08-31 13:26:28 토요일]
----------------------------------------------------
[LOG :: DESCRIPTION :: SFTP 서버 파일 목록 확인 수행]
----------------------------------------------------
[LOG :: sftpPath :: /test]
D ===================================================================
W ===================================================================
[LOG :: CLASS PLACE :: com.example.javaproject.C_Module.C_SFTP_Client_Module.getFtpFileList(C_SFTP_Client_Module.java:642)]
----------------------------------------------------
LOG :: NOW TIME :: 2024-08-31 13:26:28 토요일]
----------------------------------------------------
[LOG :: DESCRIPTION :: SFTP 서버 파일 리스트 확인 성공]
----------------------------------------------------
[LOG :: [log.txt]]
W ===================================================================
// */
// [리턴 변수 선언]
ArrayList result = new ArrayList();
// [로직 처리 수행]
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 (fileAndFolderList.get(i).getFilename().trim().replaceAll("\\.", "").length() > 0){
result.add(fileAndFolderList.get(i).getFilename());
}
}
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;
}
반응형
'Android' 카테고리의 다른 글
Comments