Java通过SSH实现文件上传下载功能
上周接到一個(gè)文件上傳下載的需求,具體如下:
項(xiàng)目說明:
? ?1.本項(xiàng)目采用ssh方式,實(shí)現(xiàn)文件的上傳與下載功能;
? ? ?windows連接遠(yuǎn)程服務(wù)有多種方式,網(wǎng)上有通過socket實(shí)現(xiàn)的;也有ftp方式連接和ssh方式。調(diào)研后,我采用的是SSH方式連接遠(yuǎn)程服務(wù),因?yàn)槲乙h(yuǎn)程操作服務(wù)器上的文件和文件夾,對(duì)文件夾進(jìn)行解壓和壓縮功能。
? ??實(shí)現(xiàn)難點(diǎn):
? ? ? ?1.java 實(shí)現(xiàn)對(duì)文件(夾)的壓縮和解壓;(java的工具類即可以實(shí)現(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.上傳
?? ??? ? ?壓縮對(duì)應(yīng)的文件夾,生成臨時(shí)文件.zip?
?? ??? ? ---->上傳臨時(shí)文件.zip,上傳成功,刪除本地臨時(shí)文件 ?
?? ??? ? ----> 遠(yuǎn)程服務(wù)上解壓到服務(wù)器指定路徑,并刪除服務(wù)器上臨時(shí)zip文件?
?? ??? ?2.下載
?? ??? ? 壓縮服務(wù)器指定文件夾,生成臨時(shí)文件.zip
?? ??? ? ---->下載壓縮文件到本地指定路徑,下載完成,刪除服務(wù)器上的 zip文件
?? ??? ? ---->解壓本地壓縮包,解壓完成,刪除 zip包
?? ?3.代碼說明:
?? ??? ?com.remote.bean ? ??? ?實(shí)體類
?? ??? ?com.remote.utils ? ?? ?工具類
?? ??? ?com.route ? ? ? ? ??? ?上傳/下載文件的入口類
?? ??? ?com.test ? ? ? ? ? ?? ?測(cè)試類
?? ??? ?項(xiàng)目根目錄libs目錄?? ? ? ? ? ? ?所依賴的jar包
?? ??? ?項(xiàng)目根目錄command目錄 ? ? ?配置信息
?? ?4.配置文件內(nèi)容說明:
? ? ? ?
?? ??? ?down;132.232.143.221;21;Administrator;test;C:\ftp\服務(wù)器測(cè)試\;E:\wangzgCode\sshLocal\;測(cè)試
?? ??? ?#down;服務(wù)IP地址;端口;服務(wù)器用戶名;服務(wù)器密碼;服務(wù)器文件夾的路徑;本地保存地址;本地保存文件名
?? ??? ?up;132.232.143.221;21;Administrator;tess;E:\wangzgCode\sshLocal;C:\ftp;服務(wù)器測(cè)試
?? ??? ?#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
?
下一遍上具體的實(shí)現(xiàn)代碼,請(qǐng)持續(xù)關(guān)注哦!
?
歡迎關(guān)注我的公眾號(hào)"不安分的猿人",也可掃描二維碼:
??
推薦閱讀:
? ? ? ? ? ? 一位朋友的人工智能教程。零基礎(chǔ),通俗易懂!
? ? ? ? ? ??手工制作SpringMVC框架
?
?? ?
?
?
總結(jié)
以上是生活随笔為你收集整理的Java通过SSH实现文件上传下载功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派换源、vim更新:树莓派更换国内可
- 下一篇: CSDN怎么转载别人的博客