<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 閱讀(2660) 評論(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

    搜索

    積分與排名

    最新評論

    主站蜘蛛池模板: 亚洲精品无码成人AAA片| 亚洲综合亚洲综合网成人| 亚洲高清美女一区二区三区| 日本不卡免费新一区二区三区| 亚洲精品成人无限看| 久草免费福利在线| 亚洲精品乱码久久久久久久久久久久 | 免费一级做a爰片久久毛片潮喷| 亚洲熟妇无码AV| 国产成人精品免费视频大全五级 | 尤物视频在线免费观看| 亚洲国产主播精品极品网红| 国产精品黄页免费高清在线观看| 亚洲日韩aⅴ在线视频| 伊人久久免费视频| 国产色在线|亚洲| 免费人成年激情视频在线观看| 国产黄在线观看免费观看不卡| 亚洲av无码成h人动漫无遮挡| 久久免费区一区二区三波多野| 亚洲免费一级视频| 免费日本黄色网址| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 免费人成在线观看视频高潮| 亚洲高清中文字幕综合网| 毛片免费在线观看网址| 成人一级免费视频| 久久精品a亚洲国产v高清不卡| 女性自慰aⅴ片高清免费| 阿v免费在线观看| 亚洲大片在线观看| 狠狠久久永久免费观看| 中文字幕乱码免费看电影| 亚洲永久中文字幕在线| 成人亚洲网站www在线观看| 久9久9精品免费观看| 亚洲成av人片在线天堂无| 国产精品亚洲成在人线| 久久久久久国产精品免费免费 | 最近中文字幕无免费| 国产午夜亚洲精品不卡免下载|