2010-08-17 41 views
1

我想從ftp站點下載文件,只要它比我的本地文件更新。任何人都可以幫助如何合併檢查文件屬性?現在它下載文件,但只需要更新。目的是用文件的內容更新.mdb,所以不要在每次運行我的應用程序時都下載文件並運行更新,只有當文件不同時纔會運行更新。這是我使用的代碼:如果更新或不同,從ftp下載文件

 Const localFile As String = "C:\version.xml" 
    Const remoteFile As String = "/version.xml" 
    Const host As String = "ftp://1.1.1.1" 
    Const username As String = "user" 
    Const password As String = "pwd" 

    Dim URI As String = host & remoteFile 
    Dim ftp As System.Net.FtpWebRequest = _ 
     CType(FtpWebRequest.Create(URI), FtpWebRequest) 

    ftp.Credentials = New _ 
     System.Net.NetworkCredential(username, password) 

    ftp.KeepAlive = False 

    ftp.UseBinary = True 

    ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile 

    Using response As System.Net.FtpWebResponse = _ 
      CType(ftp.GetResponse, System.Net.FtpWebResponse) 
     Using responseStream As IO.Stream = response.GetResponseStream 

      Using fs As New IO.FileStream(localFile, IO.FileMode.Create) 
       Dim buffer(2047) As Byte 
       Dim read As Integer = 0 
       Do 
        read = responseStream.Read(buffer, 0, buffer.Length) 
        fs.Write(buffer, 0, read) 
       Loop Until read = 0 
       responseStream.Close() 
       fs.Flush() 
       fs.Close() 
      End Using 
      responseStream.Close() 
     End Using 
     response.Close() 
    End Using 

任何幫助表示讚賞

回答

1

不知道這是否回答你的問題,但我正在尋找一個類似的答案,並跨越這來了。

http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx

查找到LastWriteTime,你可以保存的時間和檢查,看它是否是那什麼是保存一個較新的日期。你也必須弄清楚如何下載文件(不熟悉代碼)。