<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gr8vyguy@Blogjava

    Java Ftp

    想為新作的Blog客戶端易博增加FTP上傳的功能,最省地的方法當(dāng)然是利用JDK里的Socket類自己處理FTP的協(xié)議,雖然FTP不算是很復(fù)雜的協(xié)議,但是實(shí)現(xiàn)起來還是有點(diǎn)麻煩,容易出錯(cuò)。當(dāng)然不如使用現(xiàn)成的工具庫(kù)來得省事可靠。

    Java World上有篇比較支持FTP協(xié)議的Java工具庫(kù)的文章,寫得很全面。
             Java FTP client libraries reviewed

    粗略看了一邊,決定選擇The Jakarta Project, Jakarta Commons/Net。Common Net是Jakarta Commons下的一個(gè)子項(xiàng)目,支持包括FTP在內(nèi)的多種Internet協(xié)議, 其他有比如Finger, Whois,Telnet,POP3等等。

    Common Net支持FTP的關(guān)鍵類是org.apache.commons.net.ftp.FTPClient. 下面介紹一些具體的使用方法。

    1. 使用FTPClient連接和登錄FTP服務(wù)器

    1. FTPClient ftp = new FTPClient();   
    2. ftp.connect(server);   
    3. ftp.login(username, password);   
    4. System.out.println("Connected to " + server + ".");   
    5. System.out.print(ftp.getReplyString());  

    類似使用ftp命令登錄FTP服務(wù)器以后,可以執(zhí)行各種命令比如cd和ls,可以調(diào)用FTPClient的函數(shù)比如FTPClient.changeWorkingDirectory(folder); 改變當(dāng)前目錄, FTPClient.listFiles()枚舉當(dāng)前目錄下的所有文件。

    2. 使用FTPClient下載文件
    1. FTPFile[] files = ftp.listFiles();   
    2. System.out.println("Number of files in dir: " + files.length);   
    3. for (int i = 0; i < files.length; i++) {   
    4.     File file = new File(destinationFolder + File.separator   
    5.                     + files[i].getName());   
    6.     FileOutputStream fos = new FileOutputStream(file);   
    7.     ftp.retrieveFile(files[i].getName(), fos);   
    8.     fos.close();   
    9.     file.setLastModified(fileDate.getTime());   
    10. }  

    FTPClient.retrieveFile從FTP服務(wù)器上取回一個(gè)文件。其實(shí)我更關(guān)心的是上傳的功能。

    3. 使用FTPClient上傳文件
    1. FileInputStream fis = new FileInputStream(localFileName);   
    2. ftp.storeFile(remoteFileName, fis);  

    和retrieveFile相對(duì)應(yīng)的storeFile上傳一個(gè)本地文件。完事后別忘了關(guān)閉FTPClient。

    4. 關(guān)閉FTPClient
    1. ftp.logout();   
    2. ftp.disconnect();  

    簡(jiǎn)潔起見,以上的代碼忽略了錯(cuò)誤處理。FTPClient還支持其他一些函數(shù),比如makeDirectory(String pathname) 在服務(wù)器上新建一個(gè)目錄。rename(String from, String to) 改變一個(gè)文件的名字。 具體的請(qǐng)參照Commons Net的API文檔。

    易博客戶端介紹

    posted on 2007-07-13 02:19 gr8vyguy 閱讀(2661) 評(píng)論(1)  編輯  收藏 所屬分類: Java

    評(píng)論

    # re: Java Ftp 2007-07-13 02:47 ddd

    基本上都是大同小異。。。  回復(fù)  更多評(píng)論   

    <2007年7月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    導(dǎo)航

    統(tǒng)計(jì)

    公告

  • 轉(zhuǎn)載請(qǐng)注明出處.
  • msn: gr8vyguy at live.com
  • 常用鏈接

    留言簿(9)

    隨筆分類(68)

    隨筆檔案(80)

    文章分類(1)

    My Open Source Projects

    搜索

    積分與排名

    最新評(píng)論

    主站蜘蛛池模板: 国产专区一va亚洲v天堂| 午夜免费福利在线| 日本高清在线免费| 在线观看H网址免费入口| 女人18毛片水最多免费观看 | 日产久久强奸免费的看| 一级毛片高清免费播放| 老司机69精品成免费视频| 亚洲一区在线免费观看| 日本免费网站观看| 亚洲午夜福利AV一区二区无码| 亚洲国产人成在线观看69网站| 亚洲国产精品免费观看 | 99在线免费观看视频| 无码高潮少妇毛多水多水免费| 四虎永久在线精品免费观看地址| 国产亚洲自拍一区| 亚洲成a人片毛片在线| 国产偷国产偷亚洲高清人| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 亚洲av激情无码专区在线播放 | 久久亚洲精品成人av无码网站| 亚洲中文无码卡通动漫野外| www免费插插视频| 免费观看黄色的网站| 免费少妇a级毛片人成网| 久久亚洲国产视频| 亚洲性无码AV中文字幕| 99re6在线视频精品免费| 日韩精品成人无码专区免费| 国产精品亚洲αv天堂无码| 亚洲日本香蕉视频| 一个人看的免费观看日本视频www| 99在线在线视频免费视频观看| www亚洲精品少妇裸乳一区二区| 亚洲专区先锋影音| 黄色三级三级三级免费看| 16女性下面扒开无遮挡免费| 亚洲精品国产综合久久一线| 亚洲图片中文字幕| 在线观看免费黄色网址|