2012年10月12日 星期五

[FTP] 取得 FTP 資料夾下的所有檔案、資料夾清單或詳細資料

關於 FTP 的相關程式碼我可找了好久
超難找的!
所以我要在此分享以下程式碼來提供給需要的人使用!
這一次是關於「顯示 FTP 資料夾下的所有檔案和資料夾



程式碼 VB
        Dim theUri As New Uri( "ftp://1.1.1.1/" )
        '定義MqFtpWebRequest類別
        Dim myRequest As FtpWebRequest
        '建立FtpWebRequest
        myRequest = CType (FtpWebRequest .Create(theUri), FtpWebRequest)
        '認證
        myRequest.Credentials = New NetworkCredential ("帳號" , "密碼")

        '服務要求
        myRequest.Method = WebRequestMethods .Ftp .ListDirectory
        '定義FtpWebResponse類別
        Dim myFtpResponse As FtpWebResponse
        '建立FtpWebResponse
        myFtpResponse = CType (myRequest.GetResponse, FtpWebResponse )
        '建立目錄及檔案資料流
        Dim DataStream As Stream = myFtpResponse.GetResponseStream
        '建立目錄資料流
        Dim DownLoadDir As New StreamReader (DataStream, Encoding .Default)
        '讀取資料流

        My.Computer.FileSystem.WriteAllText( "C:\test2.txt" , DownLoadDir.ReadToEnd, False )
        DataStream.Close()
        myFtpResponse.Close()

※ 在程式碼的最上面要加上
Imports System.Net
Imports System.IO
Imports System.Text

才可以執行!


VB 應用

顯現出的資料是My.Computer.FileSystem.WriteAllText( "C:\test2.txt" , DownLoadDir.ReadToEnd, False )」中的「DownLoadDir.ReadToEnd這個程式碼喔!

如果你要搜尋ftp://1.1.1.1/」下面的檔案與資料夾名稱,用上面的方法即可
如果你要顯現出更詳細的資料,可以更改「myRequest.Method = WebRequestMethods .Ftp .ListDirectory」這段程式碼後面的「ListDirectory」改為「ListDirectoryDetails就可以顯現出詳細的資料囉~




資料來源
http://tw.myblog.yahoo.com/lk-hsu/article?mid=2596&prev=2872&next=2593&l=f&fid=13