亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java使用sftp定時下載文件的示例代碼

2024-07-14 08:40:51
字體:
來源:轉載
供稿:網友

sftp簡介

sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議??梢詾閭鬏斘募峁┮环N安全的網絡的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟件包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(端口號默認是22)來完成相應的連接和答復操作,所以從某種意義上來說,SFTP并不像一個服務器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由于這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網絡安全性要求更高時,可以使用SFTP代替FTP。

添加依賴

java;"><dependency>  <groupId>com.jcraft</groupId>  <artifactId>jsch</artifactId>  <version>0.1.54</version></dependency>

增加配置

sftp:  ip: 192.168.1.60  port: 22  timeout: 60000  retryTime: 3  admin:    username: admin    password: 2k3xrYjbd930.

代碼示例

每天凌晨1點在多個用戶目錄中下載csv文件至本地tmp目錄

@Servicepublic class SftpTask extends Thread {  private ChannelSftp sftp;  private Session session;  @Value("${sftp.admin.username}")  private String username;  @Value("${sftp.admin.password}")  private String password;  @Value("${sftp.host}")  private String host;  @Value("${sftp.port}")  private Integer port;  private SftpService sftpService;  public EtlSftpTask (SftpService sftpService) {    this.sftpService = sftpService;  }  /**   * 建立sftp連接   */  private void connect(){    try {      JSch jSch = new JSch();      session = jSch.getSession(username, host, port);      session.setPassword(password);      session.setConfig("StrictHostKeyChecking", "no");      session.connect();      Channel channel = session.openChannel("sftp");      channel.connect();      sftp = (ChannelSftp) channel;    }catch (JSchException e) {      e.printStackTrace();    }  }  /**   * 關閉sftp連接   */  public void close(){    try {      if (sftp != null) {        if (sftp.isConnected()) sftp.disconnect();      }      if(session != null){        if (session.isConnected()) session.disconnect();      }    } catch (Exception e) {      e.printStackTrace();    }  }  /**   * 下載文件到本地   *   * @param source          源文件   * @param target          目標文件   * @throws SftpException      異常   * @throws FileNotFoundException  異常   */  private void download(String source, String target) throws SftpException, FileNotFoundException {    sftp.get(source, new FileOutputStream(new File(target)));  }  /**   * 處理用戶數據文件   *   * @param root   數據文件根目錄   * @param lastTime 上次處理文件的最后的時間   * @return     本次處理文件的最后的時間   */  private Integer handle(String root, Integer lastTime) {    String directory = root + "/event/";    Vector files;    try {      files = sftp.ls(directory + "event_*.csv");    } catch (Exception e) {      e.printStackTrace();      return 0;    }    // 文件名    String fileName;    // 臨時文件    String tmpFile;    // 文件更新時間    Integer mTime;    // 文件最后更新時間    Integer maxTime = lastTime;    // 處理用戶文件    for(Object o: files) {      try {        ChannelSftp.LsEntry f = (ChannelSftp.LsEntry) o;        // 文件更新時間        mTime = f.getAttrs().getMTime();        if (mTime <= lastTime) continue;        // 文件名        fileName = f.getFilename();        // 最后處理事件        maxTime = Math.max(maxTime, mTime);        // 下載文件        tmpFile = "/tmp/" + fileName;        download(directory + fileName, tmpFile);      } catch (Exception e) {        // TODO 錯誤日志        e.printStackTrace();      }    }    // 返回文件最后的處理時間    return maxTime;  }  /**   * 每天凌晨1點開始執行   */  @Scheduled(cron = "0 0 1 * * *")  public void task () {    // 獲取sftp連接    connect();    String root;    Integer lastTime;    Long cid;    Integer maxTime = lastTime;    // 獲取用戶列表    for (SftpDTO sftpDTO: sftpService.findAll()) {      // 用戶主目錄      root = sftpDTO.getSftpRoot();      // 上次處理文件的最后時間      lastTime = sftpDTO.getLastTime();      maxTime = Math.max(maxTime, handle(root, lastTime));      // 更新最后處理時間      if (!maxTime.equals(lastTime)) {        sftpDTO.setLastTime(maxTime);        sftpService.update(sftpDTO);      }    }    // 釋放sftp資源    close();  }}

總結

以上所述是小編給大家介紹的Java使用sftp定時下載文件的示例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成网在线播放| 欧美成人免费一级人片100| 欧美日韩福利视频| 亚洲欧美在线播放| 日韩在线免费视频观看| 91精品国产综合久久香蕉922| 中文字幕精品久久久久| 国产精品手机播放| 午夜精品一区二区三区av| 伊人av综合网| 亚洲福利视频免费观看| 亚洲老头同性xxxxx| 欧美黑人一区二区三区| 欧美丝袜一区二区三区| 久久久久久久影视| 亚洲xxxx在线| 久久久久中文字幕| 午夜免费在线观看精品视频| 日韩av免费网站| 午夜精品久久久久久99热软件| 在线视频免费一区二区| 国产亚洲美女久久| 91sao在线观看国产| 69久久夜色精品国产7777| 日韩视频在线一区| 成人网页在线免费观看| 中文字幕日韩电影| 欧美日韩免费区域视频在线观看| 日韩欧美在线第一页| 欧美日韩国产一区在线| 国产亚洲精品久久久久久777| 中文字幕精品av| 国产成人综合久久| 91色琪琪电影亚洲精品久久| 欧美重口另类videos人妖| 91精品综合久久久久久五月天| 亚洲日本aⅴ片在线观看香蕉| 欧美性猛交xxxx乱大交蜜桃| 欧美有码在线视频| 亚洲精品www久久久久久广东| 亚洲精品久久久久久久久久久久| 高清一区二区三区四区五区| 久久久久久久久久久国产| 正在播放国产一区| 91在线高清视频| 国产日产欧美精品| 97国产一区二区精品久久呦| 亚洲mm色国产网站| 久久久久久久网站| 久久精品中文字幕一区| 日本精品一区二区三区在线播放视频| 亚洲视频电影图片偷拍一区| 久久久久久有精品国产| 国产性色av一区二区| 日韩高清av在线| 精品国产欧美一区二区五十路| 国产亚洲综合久久| 欧美激情中文字幕在线| 欧美一区二粉嫩精品国产一线天| 国产福利视频一区二区| 久久久极品av| 久久亚洲欧美日韩精品专区| 国产综合色香蕉精品| 日韩欧美在线视频观看| 久久大大胆人体| 欧美肥老妇视频| 91亚洲va在线va天堂va国| 国产精品高清在线观看| 91超碰中文字幕久久精品| 亚洲va久久久噜噜噜| 北条麻妃一区二区三区中文字幕| 欧美精品18videos性欧美| 国产97在线播放| 久久久久久亚洲精品中文字幕| 国产日本欧美一区二区三区| 九九久久国产精品| 国产精品吹潮在线观看| 亚洲香蕉成视频在线观看| 久久久99久久精品女同性| 亚洲xxx大片| 中文字幕一精品亚洲无线一区| 韩日欧美一区二区| 亚洲一区二区三区sesese| 欧美成人精品不卡视频在线观看| 欧美极品少妇xxxxⅹ喷水| 伊人久久久久久久久久久久久| 欧美成人合集magnet| 亚洲精品自产拍| 在线播放亚洲激情| 国产精品激情av在线播放| 综合国产在线视频| 欧美视频不卡中文| 怡红院精品视频| 欧美成人手机在线| 91免费国产视频| 日韩精品中文字幕有码专区| 欧美极品欧美精品欧美视频| 性夜试看影院91社区| 国产经典一区二区| 狠狠干狠狠久久| 中文字幕欧美日韩| 在线成人激情视频| 91极品女神在线| 久久视频在线视频| 狠狠综合久久av一区二区小说| 中文字幕国产精品| 色在人av网站天堂精品| 日韩欧美在线观看| 一区二区在线视频| 日韩免费av片在线观看| 国产手机视频精品| 91精品在线影院| 少妇高潮 亚洲精品| 中文字幕亚洲欧美| 久久91精品国产91久久跳| 97香蕉超级碰碰久久免费的优势| 亚洲激情视频在线| 亚洲人成五月天| 欧美怡春院一区二区三区| 久久久久久久久久久av| www欧美xxxx| 美乳少妇欧美精品| 国内成人精品视频| 成人国产亚洲精品a区天堂华泰| 久久手机精品视频| 91网站免费观看| 亚洲精品v欧美精品v日韩精品| 日韩视频欧美视频| 亚洲国语精品自产拍在线观看| 国产综合在线看| 日韩激情av在线播放| 欧洲亚洲免费视频| 色综合老司机第九色激情| 亚洲影视九九影院在线观看| 欧美电影在线观看高清| 久久精品国产成人| 北条麻妃在线一区二区| 中文字幕久久精品| 国产日韩精品电影| 亚洲图片在区色| 成人中心免费视频| 中文字幕一区日韩电影| 最好看的2019年中文视频| 伊人久久大香线蕉av一区二区| 欧美极品美女视频网站在线观看免费| 欧美性高潮床叫视频| 亚洲第一福利网站| 亚洲一区二区三区xxx视频| 国产精品久久久久av免费| 在线观看国产精品淫| 日韩免费高清在线观看| 国产精品白丝jk喷水视频一区| 色先锋资源久久综合5566| 日韩国产中文字幕| 亚洲精品视频久久| 国产精品免费小视频| 亚洲视频一区二区| 日日摸夜夜添一区| 午夜精品理论片| 欧美成人亚洲成人| 日韩激情av在线播放| 国产美女精品视频免费观看| 日韩欧美国产网站| 久久久国产精品x99av|