jsch를 이용하면 정말 간편하게 sftp 프로세스도 처리할 수 있습니다.
다음은 sftp 파일 업로드 예제입니다.(인증서 체크 부분도 무시할 수 있습니다.)
도움이 되셨으면 좋겠습니다.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 |
import java.io.File;
import java.io.FileInputStream;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class Test {
public static void main(String[] args) throws Exception {
// 변수 설정 start
String username = "root";
String host = "192.168.0.226";
int port = 22;
String password = "passw0rd";
String localFile = "C:\\test.txt"; // 전송 파일 위치(로컬)
String serverPath = "/usr/local"; // 대상 디렉토리(서버)
// 변수 설정 end
File file = new File(localFile);
System.out.println("=> Connecting to " + host);
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
FileInputStream in = null;
JSch jsch = new JSch();
try {
session = jsch.getSession(username, host, port);
session.setPassword(password);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no"); // 인증서 검사를 하지 않음
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
System.out.println("=> Connected to " + host);
in = new FileInputStream(file);
channelSftp.cd(serverPath);
channelSftp.put(in, file.getName());
System.out.println("=> Uploaded : " + file.getPath() + " at " + host);
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
channelSftp.exit();
channel.disconnect();
session.disconnect();
} catch(Exception e) {
e.printStackTrace();
}
}
}
} |
cs |
'IT노트(구) > Java' 카테고리의 다른 글
이클립스에서 Workspace in use or cannot be created, choose a different one. 해결 방법 (0) | 2016.04.26 |
---|---|
WebSphere에 포팅된 어플리케이션의 web.xml 수정하는 방법 (0) | 2016.04.26 |
(Java) 특정 날짜의 요일을 구하는 함수 (0) | 2016.04.19 |
에러 해결 방법 - java.lang.IllegalArgumentException: Illegal pattern character 'Y' (0) | 2016.04.15 |
에러 해결 방법 - weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection (1) | 2016.04.15 |