티스토리 뷰
-----------------------------------------------------------------------------------------------------------------------------------
- Java 소스
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
...
...
private Session session = null;
private Channel channel = null;
private ChannelSftp channelSftp = null;
...
...
// SFTP 연결
public void connect(String host, String user, String pwd) throws Exception
{
//JSch 객체 생성
JSch jsch = new JSch();
//세션객체 생성 ( user , host, port )
session = jsch.getSession(user, host);
//password 설정
session.setPassword(pwd);
//세션관련 설정정보 설정
Properties config = new Properties();
//호스트 정보 검사하지 않는다.
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
//접속
session.connect();
//sftp 채널 접속
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp) channel;
}
...
...
// SFTP 종료
public void disconnect()
{
channelSftp.quit();
session.disconnect();
}
...
...
// SFTP 파일 업로드
public void upload( String dir , File file) throws Exception
{
FileInputStream in = null;
try{
in = new FileInputStream(file);
channelSftp.cd(dir);
channelSftp.put(in,file.getName());
}
finally
{
in.close();
}
}
...
...
// SFTP 파일 다운로드
public InputStream download(String targetPath, String fileNm) throws Exception
{
channelSftp.cd(targetPath);
return channelSftp.get(fileNm);
}
...
...
// SFTP 파일 삭제
public void delete(String targetPathFileName) throws Exception
{
channelSftp.rm(targetPathFileName);
}
- Maven Dependancy
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
</dependency>
- 관련 사이트
-----------------------------------------------------------------------------------------------------------------------------------
'개발(Dev) > (02) 서버 개발' 카테고리의 다른 글
(JAVA) ObjectMapper 데이터 변환 (0) | 2020.06.02 |
---|---|
(JAVA) java.util.stream 기능 (0) | 2020.06.02 |
(Java) FTP Client (0) | 2019.08.01 |
(Java) bCript 암호화 (0) | 2019.08.01 |