1. 程式人生 > >Java實現的SFTP(檔案上傳詳解篇)

Java實現的SFTP(檔案上傳詳解篇)

JSch是Java Secure Channel的縮寫。JSch是一個SSH2的純Java實現。它允許你連線到一個SSH伺服器,並且可以使用埠轉發,X11轉發,檔案傳輸等,當然你也可以整合它的功能到你自己的應用程式。 本文只介紹如何使用JSch實現的SFTP功能。 SFTP是Secure File Transfer Protocol的縮寫,安全檔案傳送協議。可以為傳輸檔案提供一種安全的加密方法。SFTP 為 SSH的一部份,是一種傳輸檔案到伺服器的安全方式。SFTP是使用加密傳輸認證資訊和傳輸的資料,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網路安全性要求更高時,可以使用SFTP代替FTP。(來自百度的解釋) 要使用JSch,需要下載它的jar包,請從官網下載它:

http://www.jcraft.com/jsch/

ChannelSftp類是JSch實現SFTP核心類,它包含了所有SFTP的方法,如: put(): 檔案上傳 get(): 檔案下載 cd(): 進入指定目錄 ls(): 得到指定目錄下的檔案列表 rename(): 重新命名指定檔案或目錄 rm(): 刪除指定檔案 mkdir(): 建立目錄 rmdir(): 刪除目錄 等等(這裡省略了方法的引數,put和get都有多個過載方法,具體請看原始碼,這裡不一一列出。)

JSch支援三種檔案傳輸模式:

OVERWRITE 完全覆蓋模式,這是JSch的預設檔案傳輸模式,即如果目標檔案已經存在,傳輸的檔案將完全覆蓋目標檔案,產生新的檔案。 RESUME 恢復模式,如果檔案已經傳輸一部分,這時由於網路或其他任何原因導致檔案傳輸中斷,如果下一次傳輸相同的檔案,

則會從上一次中斷的地方續傳。

APPEND 追加模式,如果目標檔案已存在,傳輸的檔案將在目標檔案後追 加。

具體程式碼示例,請點選下面轉載地址檢視

PS:寫的真的很好?