一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java使用SFTP上傳文件到服務(wù)器的簡單使用

Java使用SFTP上傳文件到服務(wù)器的簡單使用

2020-08-13 12:03唐凱 Java教程

這篇文章主要介紹了Java使用SFTP上傳文件到服務(wù)器的簡單使用,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

最近用到SFTP上傳文件查找了一些資料后自己做了一點(diǎn)總結(jié),方便以后的查詢。具體代碼如下所示:

?
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/**
 * 將文件上傳到服務(wù)器
 *
 * @param filePath
 *   文件路徑
 * @param channelSftp
 *   channelSftp對象
 * @return
 */
public static boolean uploadFile(String filePath, ChannelSftp channelSftp) {
 OutputStream outstream = null;
 InputStream instream = null;
 boolean successFlag = false;
 try {
  File isfile = new File(filePath);
  if (isfile.isFile()) {
   outstream = channelSftp.put(isfile.getName());
   File file = new File(filePath);
   if (file.exists()) {
    instream = new FileInputStream(file);
    byte b[] = new byte[1024];
    int n;
    while ((n = instream.read(b)) != -1) {
     outstream.write(b, 0, n);
    }
    outstream.flush();
   }
   successFlag = true;
  }
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  try {
   if (instream != null) {
    instream.close();
   }
   if (outstream != null) {
    outstream.close();
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 return successFlag;
}
private static Session initJschSession()
  throws JSchException {
 int ftpPort = 0;
 String ftpHost = "";
 String port = "00"; //sftp的端口號
 String ftpUserName = ""; //用戶名
 String ftpPassword = ""; //鏈接的密碼
 String privateKey = ""; //
 String passphrase = "";
 if (port != null && !port.equals("")) {
  ftpPort = Integer.valueOf(port);
 }
 JSch jsch = new JSch(); // 創(chuàng)建JSch對象
 if (StringUtils.isNotBlank(privateKey)
   && StringUtils.isNotBlank(passphrase)) {
  jsch.addIdentity(privateKey, passphrase);
 }
 if (StringUtils.isNotBlank(privateKey)
   && StringUtils.isBlank(passphrase)) {
  jsch.addIdentity(privateKey);
 }
 jsch.getSession(ftpUserName, ftpHost, ftpPort);
 Session session = jsch.getSession(ftpUserName, ftpHost, ftpPort); // 根據(jù)用戶名,主機(jī)ip,端口獲取一個(gè)Session對象
 if (StringUtils.isNotBlank(ftpPassword)) {
  session.setPassword(ftpPassword); // 設(shè)置密碼
 }
 return session;
}
/**
 * 獲取ChannelSftp鏈接
 *
 * @param timeout
 *   超時(shí)時(shí)間
 * @return 返回ChannelSftp對象
 * @throws JSchException
 */
public static ChannelSftp getChannelSftp(Session session, int timeout)
  throws JSchException {
 Channel channel = null;
 Properties config = new Properties();
 config.put("StrictHostKeyChecking", "no");
 session.setConfig(config); // 為Session對象設(shè)置properties
 session.setTimeout(timeout); // 設(shè)置timeout時(shí)間
 session.connect(); // 通過Session建立鏈接
 channel = session.openChannel("sftp"); // 打開SFTP通道
 channel.connect(); // 建立SFTP通道的連接
 return (ChannelSftp) channel;
}
/**
 * 斷開sftp鏈接
 *
 * @param session
 *   會(huì)話
 * @param channel
 *   通道
 */
public static void closeConnection(Channel channel, Session session) {
 try {
  if (session != null) {
   session.disconnect(); //關(guān)閉session鏈接
  }
  if (channel != null) {
   channel.disconnect(); //斷開連接
  }
 } catch (Exception e) {
  e.printStackTrace();
 }
}

這里的用戶名密碼都是自己設(shè)置,這里的方法進(jìn)行了簡單的封裝,方便使用。

以上所述是小編給大家介紹的Java使用SFTP上傳文件到服務(wù)器的簡單使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

原文鏈接:http://www.cnblogs.com/tangkai/p/3339285.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品视频一区二区三区 | 欧美白虎逼 | 国产福利兔女郎在线观看 | 毛片在线观看网站 | 欧美一级在线 | 免费视频完整版在线观看网站 | www.91在线| 国产不卡视频 | 欧美福利在线观看 | 日韩欧美在线视频一区二区 | 日本一区二区视频在线 | 欧美精品一国产成人性影视 | 国产一区二区三区四卡 | 婷婷九月 | 精品久久久久久国产 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 丁香六月婷婷激情 | 国产精品亚洲综合久久 | 2019韩国最新三级 | 成年人在线免费观看视频网站 | 猛男深夜狂cao小男生 | 肉宠文很肉到处做1v1 | www.91麻豆| 性做久久久久久 | 色聚网久久综合 | 岛国虐乳紧缚媚药调教 | 91东航翘臀女神在线播放 | 国产精品久久久久a影院 | h玉足嫩脚嗯啊白丝 | 69堂最新地域网名 | 精品无人区乱码1区2区3区免费 | 男人天堂网av | 国产实拍会所女技师在线 | 2020韩国r级理论片在线观看 | 垫底辣妹免费观看完整版 | 91天堂在线视频 | 欧美高清在线精品一区二区不卡 | 亚洲精品一区二区三区在线看 | 女人扒开下面让男人桶爽视频 | bbbxxx乱大交欧美小说 | 久久久久国产一级毛片高清片 |