<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上傳的功能,最省地的方法當然是利用JDK里的Socket類自己處理FTP的協議,雖然FTP不算是很復雜的協議,但是實現起來還是有點麻煩,容易出錯。當然不如使用現成的工具庫來得省事可靠。

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

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

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

    1. 使用FTPClient連接和登錄FTP服務器

    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服務器以后,可以執行各種命令比如cd和ls,可以調用FTPClient的函數比如FTPClient.changeWorkingDirectory(folder); 改變當前目錄, FTPClient.listFiles()枚舉當前目錄下的所有文件。

    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服務器上取回一個文件。其實我更關心的是上傳的功能。

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

    和retrieveFile相對應的storeFile上傳一個本地文件。完事后別忘了關閉FTPClient。

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

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

    易博客戶端介紹

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

    評論

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

    基本上都是大同小異。。。  回復  更多評論   

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

    導航

    統計

    公告

  • 轉載請注明出處.
  • msn: gr8vyguy at live.com
  • 常用鏈接

    留言簿(9)

    隨筆分類(68)

    隨筆檔案(80)

    文章分類(1)

    My Open Source Projects

    搜索

    積分與排名

    最新評論

    主站蜘蛛池模板: ww4545四虎永久免费地址| 久久ww精品w免费人成| 大片免费观看92在线视频线视频| 亚洲国产无线乱码在线观看 | 中文字幕在线免费视频| 免费大片在线观看网站| 免费大片av手机看片高清| 黄色网站软件app在线观看免费 | 美女裸身网站免费看免费网站| 久久精品国产亚洲AV电影| 亚洲乱人伦中文字幕无码| 精品久久久久久久免费加勒比| 亚洲中文字幕无码中文字在线| 一级毛片无遮挡免费全部| 免费精品国产自产拍在线观看图片| 亚洲videos| 免费观看91视频| www国产亚洲精品久久久| 亚洲人成在线免费观看| 性做久久久久久免费观看| 亚洲伊人tv综合网色| 亚洲黄色免费电影| 中文字幕亚洲精品无码| 最近免费中文字幕大全免费版视频 | 无码天堂亚洲国产AV| 免费国产成人高清在线观看网站| 在线综合亚洲欧洲综合网站| 免费永久看黄在线观看app| 亚洲乱码卡一卡二卡三| 国产免费观看视频| 久久精品国产免费一区| 亚洲AV成人无码天堂| 亚洲午夜AV无码专区在线播放 | 亚洲午夜在线一区| 日美韩电影免费看| 国内永久免费crm系统z在线| 亚洲一卡二卡三卡四卡无卡麻豆 | 最近中文字幕免费2019| 在线免费观看伊人三级电影| 亚洲AV无码第一区二区三区| 99久久免费国产精品特黄|