SFtp ssh2.0 version 上傳、下載文件

SFtp ssh2.0 version 上傳、下載文件


  public void upload(String filepath, String filename) throws Exception {
    logger.info("證件圖像文件SFTP上傳 ... ,\nfile = {}{}", filepath, filename);
    InputStream in = null;
    ChannelSftp sftp = null;
    Session session = null;

    try {

      JSch jsch=new JSch();
      session=jsch.getSession(UnionPayConfig.SFTP_USER, UnionPayConfig.SFTP_IP, UnionPayConfig.SFTP_PORT);
      session.setPassword(UnionPayConfig.SFTP_PWD);

      Properties sshConfig = new Properties();
      sshConfig.put("StrictHostKeyChecking", "no");
      session.setConfig(sshConfig);

      session.connect();

      sftp = (ChannelSftp)session.openChannel("sftp");
      sftp.connect();

      /*Vector<?> vector = sftp.ls(UnionPayConfig.SFTP_DIR);
      for (Object item:vector) {
        ChannelSftp.LsEntry entry = (ChannelSftp.LsEntry) item;
        logger.info(entry.getFilename());
        if( entry.getFilename().equals("10000000016690_QYZH00000000245_corp.zip") ) {
          sftp.get(UnionPayConfig.SFTP_DIR+"10000000016690_QYZH00000000245_corp.zip", new FileOutputStream("d:/10000000016690_QYZH00000000245_corp.zip"));
        }
      }*/

      byte[] bytes = new byte[1024];
      in = new FileInputStream(filepath+filename);
      OutputStream out = sftp.put(UnionPayConfig.SFTP_DIR + filename);

      while (in.read(bytes)  != -1) {
        out.write(bytes);
      }
      out.close();
      in.close();

      logger.info("證件圖像文件SFTP上傳 成功, filename = " + filename);

    } catch (Exception e) {
      logger.error("證件圖像文件SFTP上傳 失敗", e);
      throw e;
    } finally {
      if (sftp != null) {
        if (sftp.isConnected()) {
          sftp.disconnect();
        }
      }
      if (session != null) {
        if (session.isConnected()) {
          session.disconnect();
        }
      }
      if (in != null) {
        in.close();
      }
    }

  }


發佈了36 篇原創文章 · 獲贊 12 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章