本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種基于JAVA語(yǔ)言對(duì)FTP文件處理的方法及裝置。
背景技術(shù):
FTP是傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)網(wǎng)絡(luò)上兩臺(tái)計(jì)算機(jī)之間傳送文件的協(xié)議,是在TCP/IP網(wǎng)絡(luò)和互聯(lián)網(wǎng)(INTERNET)上最早使用的協(xié)議之一,屬于網(wǎng)絡(luò)協(xié)議組的應(yīng)用層。FTP客戶端可以向FTP服務(wù)器發(fā)出請(qǐng)求,從FTP服務(wù)器下載文件,向FTP服務(wù)器上傳文件,并可以創(chuàng)建或改變FTP服務(wù)器上的目錄。
在現(xiàn)有技術(shù)中,F(xiàn)TP服務(wù)器作為資源共享服務(wù)器被大量使用,F(xiàn)TP服務(wù)器和FTP客戶端可以跨廣域網(wǎng)連接,網(wǎng)絡(luò)部署可以如圖1所示。因此,F(xiàn)TP客戶端需要在跨廣域網(wǎng)環(huán)境下與FTP服務(wù)器建立連接,進(jìn)行FTP文件的上傳和下載等相關(guān)操作。為了加速FTP服務(wù)器和FTP客戶端之間的數(shù)據(jù)傳輸,可以利用加速設(shè)備旁掛于出口設(shè)備的部署方式,在FTP服務(wù)器側(cè)和FTP客戶端側(cè)分別部署服務(wù)器側(cè)加速設(shè)備和客戶端側(cè)加速設(shè)備,使得在廣域網(wǎng)環(huán)境下可以獲得近似局域網(wǎng)的應(yīng)用訪問(wèn)體驗(yàn),F(xiàn)TP服務(wù)器和FTP客戶端的連接可以如圖2所示。
但FTP客戶端在跨廣域網(wǎng)環(huán)境下的FTP文件的上傳和下載等相關(guān)操作仍存在以下問(wèn)題:由于FTP協(xié)議是基于TCP/IP協(xié)議棧作為傳輸層協(xié)議開發(fā),而TCP協(xié)議是針對(duì)局域網(wǎng)設(shè)計(jì)的,因此,在遇到高延時(shí)的鏈路時(shí),數(shù)據(jù)傳輸性能會(huì)急驟下降。在跨廣域網(wǎng)傳輸情況下,廣域網(wǎng)延遲比較大,通常會(huì)達(dá)到50ms-200ms,丟包可能達(dá)到1%左右(而局域網(wǎng)相對(duì)于廣域網(wǎng)延遲很小(小于1ms),基本不存在丟包),導(dǎo)致FTP文件傳輸減慢,不方便開發(fā)人員對(duì)FTP文件的處理操作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的主要目的在于一種基于JAVA語(yǔ)言對(duì)FTP文件處理的方法及裝置,組件類通過(guò)JAVA語(yǔ)音編譯成,實(shí)現(xiàn)對(duì)FTP文件快速有效的處理,方便開發(fā)人員對(duì)FTP文件的處理操作。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于JAVA語(yǔ)言對(duì)FTP文件處理方法,包括:
在XML配置文件中引用組件類,在所述組件類中設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼;其中,所述組件類通過(guò)JAVA語(yǔ)音編譯成;
調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用所述IP地址、端口號(hào),登錄用戶名、密碼登錄所述FTP服務(wù)器;
在所述FTP服務(wù)器上,對(duì)FTP文件進(jìn)行處理。
可選的,在本發(fā)明一實(shí)施例中,所述對(duì)FTP文件進(jìn)行處理的步驟包括:
指定本地上傳的目錄和文件;
上傳到所述FTP服務(wù)器的目錄和文件;
關(guān)閉本地上傳的目錄和文件的輸入文件流,完成對(duì)本地文件及目錄FTP上傳到服務(wù)器的操作。
可選的,在本發(fā)明一實(shí)施例中,所述對(duì)FTP文件進(jìn)行處理的步驟包括:
指定下載到本地的目錄和文件;
指定從所述FTP服務(wù)器當(dāng)前目錄下載的文件名稱;
關(guān)閉指定下載到本地的目錄和文件的輸入文件流,完成從所述FTP服務(wù)器下載文件到本地的操作。
可選的,在本發(fā)明一實(shí)施例中,所述對(duì)FTP文件進(jìn)行處理的步驟包括:
刪除所述FTP服務(wù)器上指定的目錄和文件;
執(zhí)行FTP命令;
關(guān)閉與所述FTP服務(wù)器的連接,完成所述FTP服務(wù)器刪除文件的操作。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于JAVA語(yǔ)言對(duì)FTP文件處理裝置,包括:
設(shè)置參數(shù)單元,用于在XML配置文件中引用組件類,在所述組件類中設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼;其中,所述組件類通過(guò)JAVA語(yǔ)音編譯成;
登錄服務(wù)器單元,用于調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用所述IP地址、端口號(hào),登錄用戶名、密碼登錄所述FTP服務(wù)器;
處理單元,用于在所述FTP服務(wù)器上,對(duì)FTP文件進(jìn)行處理。
可選的,在本發(fā)明一實(shí)施例中,所述處理單元包括:
第一上傳模塊,用于指定本地上傳的目錄和文件;
第二上傳模塊,用于上傳到所述FTP服務(wù)器的目錄和文件;
第一關(guān)閉模塊,用于關(guān)閉本地上傳的目錄和文件的輸入文件流,完成對(duì)本地文件及目錄FTP上傳到服務(wù)器的操作。
可選的,在本發(fā)明一實(shí)施例中,所述處理單元包括:
第一下載模塊,用于指定下載到本地的目錄和文件;
第二下載模塊,用于指定從所述FTP服務(wù)器當(dāng)前目錄下載的文件名稱;
第二關(guān)閉模塊,用于關(guān)閉指定下載到本地的目錄和文件的輸入文件流,完成從所述FTP服務(wù)器下載文件到本地的操作。
可選的,在本發(fā)明一實(shí)施例中,所述處理單元包括:
刪除模塊,用于刪除所述FTP服務(wù)器上指定的目錄和文件;
執(zhí)行命令模塊,用于執(zhí)行FTP命令;
第三關(guān)閉模塊,用于關(guān)閉與所述FTP服務(wù)器的連接,完成所述FTP服務(wù)器刪除文件的操作。
上述技術(shù)方案具有如下有益效果:
方便開發(fā)人員方便的實(shí)施對(duì)本地FTP文件上傳到FTP服務(wù)器,從FTP服務(wù)器下載文件到本地,從FTP服務(wù)器上對(duì)文件實(shí)施刪除操作。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提出的一種基于JAVA語(yǔ)言對(duì)FTP文件處理方法流程圖;
圖2為本發(fā)明提出的一種基于JAVA語(yǔ)言對(duì)FTP文件處理裝置框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,為本發(fā)明提出一種基于JAVA語(yǔ)言對(duì)FTP文件處理方法流程圖。包括:
步驟101):在XML配置文件中引用組件類,在所述組件類中設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼;其中,所述組件類通過(guò)JAVA語(yǔ)音編譯成;
步驟102):調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用所述IP地址、端口號(hào),登錄用戶名、密碼登錄所述FTP服務(wù)器;
步驟103):在所述FTP服務(wù)器上,對(duì)FTP文件進(jìn)行處理。
實(shí)施例一:
在步驟103中,當(dāng)實(shí)現(xiàn)對(duì)本地FTP文件上傳至FTP服務(wù)器時(shí),執(zhí)行如下操作:
指定本地上傳的目錄和文件;
上傳到所述FTP服務(wù)器的目錄和文件;
關(guān)閉本地上傳的目錄和文件的輸入文件流,完成對(duì)本地文件及目錄FTP上傳到服務(wù)器的操作。
下面結(jié)合程序代碼介紹對(duì)本地FTP文件上傳至FTP服務(wù)器的過(guò)程:
首先,在XML配置文件中引用組件類,設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼。其中,該組件類通過(guò)JAVA語(yǔ)音編譯成。
然后,F(xiàn)tpClientTool.class會(huì)調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用上面設(shè)置中的IP地址、端口號(hào),登錄用戶名、密碼登錄FTP服務(wù)器。
然后,指定本地上傳的目錄和文件。
FileInputStream fis=new FileInputStream("f:\\111\\baffle");
然后,指定上傳到服務(wù)器的目錄和文件。
ftpClient.storeFile("/bocnet/Baffle/baffle",fis);
然后,關(guān)閉輸入文件流,
fis.close();
完成對(duì)本地文件及目錄FTP上傳到服務(wù)器的操作。
實(shí)施例二:
在步驟103中,當(dāng)實(shí)現(xiàn)從FTP服務(wù)器下載文件到本地時(shí),執(zhí)行如下操作:
指定下載到本地的目錄和文件;
指定從所述FTP服務(wù)器當(dāng)前目錄下載的文件名稱;
關(guān)閉指定下載到本地的目錄和文件的輸入文件流,完成從所述FTP服務(wù)器下載文件到本地的操作。
下面結(jié)合程序代碼介紹從所述FTP服務(wù)器下載文件到本地的過(guò)程:
首先,在XML配置文件中引用組件類,設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼。其中,該組件類通過(guò)JAVA語(yǔ)音編譯成。
然后,F(xiàn)tpClientTool.class會(huì)調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用上面設(shè)置中的IP地址、端口號(hào),登錄用戶名、密碼登錄FTP服務(wù)器。
然后,指定下載到本地的目錄和文件。
FileOutputStream fos=new FileOutputStream("f:\\111\\baffle");
然后,指定從服務(wù)器當(dāng)前目錄下載的文件名稱。
ftpClient.retrieveFile("/bocnet/Baffle/logs/baffle",fos);
然后,關(guān)閉輸入文件流,
fis.close();
完成從FTP服務(wù)器上下載文件到本地的操作。
實(shí)施例三:
在步驟103中,當(dāng)實(shí)現(xiàn)從FTP服務(wù)器上對(duì)文件實(shí)施刪除操作時(shí),執(zhí)行如下操作:
刪除所述FTP服務(wù)器上指定的目錄和文件;
執(zhí)行FTP命令;
關(guān)閉與所述FTP服務(wù)器的連接,完成所述FTP服務(wù)器刪除文件的操作。
下面結(jié)合程序代碼介紹從所述FTP服務(wù)器刪除文件的過(guò)程:
首先,在XML配置文件中引用組件類,設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼。其中,組件類通過(guò)JAVA語(yǔ)音編譯成。
然后,F(xiàn)tpClientTool.class會(huì)調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用上面設(shè)置中的IP地址、端口號(hào),登錄用戶名、密碼登錄FTP服務(wù)器,
然后,刪除服務(wù)器上指定目錄和文件。
FileOutputStream fos=new FileOutputStream("f:\\111\\baffle");
然后,執(zhí)行FTP命令。
ftpClient.retrieveFile("/bocnet/Baffle/logs/baffle",fos);
然后,關(guān)閉與服務(wù)器的連接,
ftpClient.disconnect();
完成FTP服務(wù)器刪除文件的操作。
實(shí)施例四:
下面,對(duì)FTP文件上傳、下載、刪除涉及的組件類進(jìn)行說(shuō)明。BOCNET提供對(duì)文件進(jìn)行FTP的上傳、下載、刪除功能組件,使用說(shuō)明如下。
1)下載并引用項(xiàng)目bocnet-common。
2)在XML配置文件中引用組件類:
3)調(diào)用組件類的方法進(jìn)行文件上傳、下載、刪除操作。
4)FTP上傳文件至指定目錄:
//指定本地上傳的目錄和文件
FileInputStream fis=new FileInputStream("f:\\111\\baffle");
//指定上傳到服務(wù)器的目錄和文件
ftpClient.storeFile("/bocnet/Baffle/baffle",fis);
//關(guān)閉輸入文件流
fis.close();
5)FTP下載文件到本地目錄:
//指定下載到本地的目錄和文件
FileOutputStream fos=new FileOutputStream("f:\\111\\baffle");
//指定從服務(wù)器當(dāng)前目錄下載的文件名稱
ftpClient.retrieveFile("/bocnet/Baffle/logs/baffle",fos);
//關(guān)閉輸出文件流
fos.close();
6)刪除服務(wù)器端文件:
//刪除服務(wù)器上指定目錄和文件
ftpClient.deleteFile("/bocnet/Baffle/baffle1");
//執(zhí)行FTP命令
ftpClient.doCommand("DELE","/bocnet/Baffle/baffle1234");
ftpClient.disconnect();
ftpClient=null;
7)測(cè)試實(shí)例:
如圖2所示,本發(fā)明提供的一種基于JAVA語(yǔ)言對(duì)FTP文件處理裝置框圖。包括:
設(shè)置參數(shù)單元201,用于在XML配置文件中引用組件類,在所述組件類中設(shè)置FTP服務(wù)器的IP地址、端口號(hào),登錄用戶名、密碼;其中,所述組件類通過(guò)JAVA語(yǔ)音編譯成;
登錄服務(wù)器單元202,用于調(diào)用common-net.jar包中的org.apache.commons.net.ftp.FTPClient類,使用所述IP地址、端口號(hào),登錄用戶名、密碼登錄所述FTP服務(wù)器;
處理單元203,用于在所述FTP服務(wù)器上,對(duì)FTP文件進(jìn)行處理。
可選的,在本發(fā)明一實(shí)施例中,所述處理單元203包括:
第一上傳模塊,用于指定本地上傳的目錄和文件;
第二上傳模塊,用于上傳到所述FTP服務(wù)器的目錄和文件;
第一關(guān)閉模塊,用于關(guān)閉本地上傳的目錄和文件的輸入文件流,完成對(duì)本地文件及目錄FTP上傳到服務(wù)器的操作。
可選的,在本發(fā)明一實(shí)施例中,所述處理單元203包括:
第一下載模塊,用于指定下載到本地的目錄和文件;
第二下載模塊,用于指定從所述FTP服務(wù)器當(dāng)前目錄下載的文件名稱;
第二關(guān)閉模塊,用于關(guān)閉指定下載到本地的目錄和文件的輸入文件流,完成從所述FTP服務(wù)器下載文件到本地的操作。
可選的,在本發(fā)明一實(shí)施例中,所述處理單元203包括:
刪除模塊,用于刪除所述FTP服務(wù)器上指定的目錄和文件;
執(zhí)行命令模塊,用于執(zhí)行FTP命令;
第三關(guān)閉模塊,用于關(guān)閉與所述FTP服務(wù)器的連接,完成所述FTP服務(wù)器刪除文件的操作。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一般計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
本領(lǐng)域技術(shù)人員還可以了解到本發(fā)明實(shí)施例列出的各種功能是通過(guò)硬件還是軟件來(lái)實(shí)現(xiàn)取決于特定的應(yīng)用和整個(gè)系統(tǒng)的設(shè)計(jì)要求。本領(lǐng)域技術(shù)人員可以對(duì)于每種特定的應(yīng)用,可以使用各種方法實(shí)現(xiàn)所述的功能,但這種實(shí)現(xiàn)不應(yīng)被理解為超出本發(fā)明實(shí)施例保護(hù)的范圍。
以上具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。