티스토리 뷰

개발(Dev)/(02) 서버 개발

(Java) SFTP Client

낭만 고양이 2019. 8. 1. 15:47

-----------------------------------------------------------------------------------------------------------------------------------

- 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
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함