最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年02月18日 09:18:47   作者:唐凱  
這篇文章主要介紹了Java使用SFTP上傳文件到服務(wù)器的簡單使用,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

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

 /**
  * 將文件上傳到服務(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,端口獲取一個Session對象
  if (StringUtils.isNotBlank(ftpPassword)) {
   session.setPassword(ftpPassword); // 設(shè)置密碼
  }
  return session;
 }
 /**
  * 獲取ChannelSftp鏈接
  * 
  * @param timeout
  *   超時時間
  * @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時間
  session.connect(); // 通過Session建立鏈接
  channel = session.openChannel("sftp"); // 打開SFTP通道
  channel.connect(); // 建立SFTP通道的連接
  return (ChannelSftp) channel; 
 }
 /**
  * 斷開sftp鏈接
  * 
  * @param session
  *   會話
  * @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ù)器的簡單使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程

    SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程

    這篇文章主要介紹了SpringBoot使用Thymeleaf模板引擎訪問靜態(tài)html的過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Jmeter參數(shù)化實(shí)現(xiàn)方法及應(yīng)用實(shí)例

    Jmeter參數(shù)化實(shí)現(xiàn)方法及應(yīng)用實(shí)例

    這篇文章主要介紹了Jmeter參數(shù)化實(shí)現(xiàn)方法及應(yīng)用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java String對象使用方法詳解

    Java String對象使用方法詳解

    這篇文章主要介紹了Java String對象使用方法詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • SpringBoot整合Swagger2的示例

    SpringBoot整合Swagger2的示例

    這篇文章主要介紹了SpringBoot整合Swagger2的示例,幫助大家更好的理解和學(xué)習(xí)springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • java中文亂碼之解決URL中文亂碼問題的方法

    java中文亂碼之解決URL中文亂碼問題的方法

    這篇文章主要為大家分享了介紹了java中文亂碼之解決URL中文亂碼問題的方法,感興趣的小伙伴們可以參考一下
    2016-06-06
  • JavaWeb之Filter與Listener使用解析

    JavaWeb之Filter與Listener使用解析

    這篇文章主要介紹了JavaWeb之Filter與Listener使用解析,Filter表示過濾器,是JavaWeb三大組件(Servlet、Filter、Listener)之一,過濾器可以把對資源的請求攔截下來,從而實(shí)現(xiàn)一些特殊的功能,需要的朋友可以參考下
    2024-01-01
  • 關(guān)于Java8 parallelStream并發(fā)安全的深入講解

    關(guān)于Java8 parallelStream并發(fā)安全的深入講解

    這篇文章主要給大家介紹了關(guān)于Java8 parallelStream并發(fā)安全的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • SpringBoot?Test的webEnvironment源碼解讀

    SpringBoot?Test的webEnvironment源碼解讀

    這篇文章主要為大家介紹了SpringBoot?Test的webEnvironment源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 二維碼生成Java實(shí)現(xiàn)代碼

    二維碼生成Java實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了二維碼生成Java實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • SpringBoot使用Jwt處理跨域認(rèn)證問題的教程詳解

    SpringBoot使用Jwt處理跨域認(rèn)證問題的教程詳解

    這篇文章主要介紹了SpringBoot使用Jwt處理跨域認(rèn)證問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論

左权县| 萍乡市| 凌云县| 西昌市| 临汾市| 宣城市| 新干县| 绥化市| 乌拉特后旗| 衡阳县| 湖北省| 尼木县| 南澳县| 汝州市| 江西省| 普兰店市| 白山市| 沙雅县| 昭通市| 萍乡市| 嫩江县| 昌吉市| 石嘴山市| 新化县| 保德县| 治县。| 岳西县| 岐山县| 砀山县| 大邑县| 潞城市| 镇平县| 尉氏县| 定安县| 子洲县| 洮南市| 崇义县| 从化市| 修文县| 观塘区| 武邑县|