Java通过SSH实现文件上传下载功能
上周接到一個文件上傳下載的需求,具體如下:
項目說明:
? ?1.本項目采用ssh方式,實現(xiàn)文件的上傳與下載功能;
? ? ?windows連接遠(yuǎn)程服務(wù)有多種方式,網(wǎng)上有通過socket實現(xiàn)的;也有ftp方式連接和ssh方式。調(diào)研后,我采用的是SSH方式連接遠(yuǎn)程服務(wù),因為我要遠(yuǎn)程操作服務(wù)器上的文件和文件夾,對文件夾進(jìn)行解壓和壓縮功能。
? ??實現(xiàn)難點:
? ? ? ?1.java 實現(xiàn)對文件(夾)的壓縮和解壓;(java的工具類即可以實現(xiàn))
? ? ? ?2.java通過SSH方式連接遠(yuǎn)程服務(wù),并遠(yuǎn)程執(zhí)行cmd命令;(引用的jar包ganymed-ssh2-build210.jar)
? ? ? ?3.在本地通過java調(diào)用Windows命令Runtime.getRuntime();runtime.exec(cmd).waitFor()
? ?2.上傳下載流程:
?? ??? ?1.上傳
?? ??? ? ?壓縮對應(yīng)的文件夾,生成臨時文件.zip?
?? ??? ? ---->上傳臨時文件.zip,上傳成功,刪除本地臨時文件 ?
?? ??? ? ----> 遠(yuǎn)程服務(wù)上解壓到服務(wù)器指定路徑,并刪除服務(wù)器上臨時zip文件?
?? ??? ?2.下載
?? ??? ? 壓縮服務(wù)器指定文件夾,生成臨時文件.zip
?? ??? ? ---->下載壓縮文件到本地指定路徑,下載完成,刪除服務(wù)器上的 zip文件
?? ??? ? ---->解壓本地壓縮包,解壓完成,刪除 zip包
?? ?3.代碼說明:
?? ??? ?com.remote.bean ? ??? ?實體類
?? ??? ?com.remote.utils ? ?? ?工具類
?? ??? ?com.route ? ? ? ? ??? ?上傳/下載文件的入口類
?? ??? ?com.test ? ? ? ? ? ?? ?測試類
?? ??? ?項目根目錄libs目錄?? ? ? ? ? ? ?所依賴的jar包
?? ??? ?項目根目錄command目錄 ? ? ?配置信息
?? ?4.配置文件內(nèi)容說明:
? ? ? ?
?? ??? ?down;132.232.143.221;21;Administrator;test;C:\ftp\服務(wù)器測試\;E:\wangzgCode\sshLocal\;測試
?? ??? ?#down;服務(wù)IP地址;端口;服務(wù)器用戶名;服務(wù)器密碼;服務(wù)器文件夾的路徑;本地保存地址;本地保存文件名
?? ??? ?up;132.232.143.221;21;Administrator;tess;E:\wangzgCode\sshLocal;C:\ftp;服務(wù)器測試
?? ??? ?#up;服務(wù)器IP地址;端口;服務(wù)器用戶名;服務(wù)器密碼;本地文件夾的路徑;服務(wù)器保存地址;服務(wù)器保存文件名
?? ??? ?
運(yùn)行程序:
?? ?1.windows服務(wù)器需要安裝
?? ??? ?1.winrar.exe解壓軟件
?? ??? ?需要將winrar.exe到環(huán)境變量
?? ??? ?參考:https://jingyan.baidu.com/article/db55b6099d1e0d4ba30a2fc0.html
?? ??? ?
?? ??? ?2.ssh服務(wù)BvSshServer-Inst.exe軟件
?? ??? ?下載鏈接:https://download.csdn.net/download/huaairen/10977766?
? ? ? ? ?配置參考:https://blog.csdn.net/u012145252/article/details/80739056
?
下一遍上具體的實現(xiàn)代碼,請持續(xù)關(guān)注哦!
?
歡迎關(guān)注我的公眾號"不安分的猿人",也可掃描二維碼:
??
推薦閱讀:
? ? ? ? ? ? 一位朋友的人工智能教程。零基礎(chǔ),通俗易懂!
? ? ? ? ? ??手工制作SpringMVC框架
?
?? ?
?
?
總結(jié)
以上是生活随笔為你收集整理的Java通过SSH实现文件上传下载功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派换源、vim更新:树莓派更换国内可
- 下一篇: Java 集合系列14之 Map总结(H