从FTP读取目录下文件名列表
Dim saveFile As String = "g:\namelist.txt" If File.Exists(saveFile) Then File.Delete(saveFile) End If Dim sw1 As StreamWriter = New StreamWriter(saveFile, False, System.Text.Encoding.Default) '输出文件
Dim sFtpPath As String = "ftp://www.219sky.com/123/music" Dim sFtpUserID As String = "user" Dim sFtpPassword As String = "123456" Dim nLen As Integer = 1800 Dim lb() As String = GetFTPFile(sFtpPath, sFtpUserID, sFtpPassword, nLen) For i As Integer = 0 To UBound(lb) sw1.WriteLine(lb(i)) '写 Next sw1.Close() '获取文件列表函数 Public Function GetFTPFile(ByVal sFtpPath As String, ByVal sFtpUserID As String, ByVal sFtpPassword As String, ByVal nLen As Integer) As String() 'sFtpPath - FTP地址, sFtpUserID - FTP用户名,sFtpPassword - FTP密码, nLen - 文件列表中文件的数量 Dim request As FtpWebRequest Dim i As Integer = 0 Dim FileList(nLen) As String '文件列表 'On Error GoTo ErrorInformation request = WebRequest.Create(sFtpPath) request.Method = WebRequestMethods.Ftp.ListDirectory request.UseBinary = False request.Credentials = New NetworkCredential(sFtpUserID, sFtpPassword) Dim response As FtpWebResponse = request.GetResponse Dim responseStream As Stream = response.GetResponseStream() 'Dim reader As StreamReader = New StreamReader(responseStream) '将出现中文乱码 Dim reader As StreamReader = New StreamReader(responseStream, System.Text.Encoding.Default) '无中文乱码 FileList(i) = reader.ReadLine While Not IsNothing(FileList(i)) i = i + 1 FileList(i) = reader.ReadLine End While reader.Close() response.Close() responseStream.Close() Return FileList Exit Function ErrorInformation: MessageBox.Show("获取文件列表出错:" + Err.Description) Exit Function End Function