老大们出来帮我看一下vb.net ftp遍历远程文件夹
vb.net吧
全部回复
仅看楼主
level 1
sxwf1230 楼主
给出文件名,判断一下远程FTP务服器上有没有这个文件夹.如果有,则为TRUE否则FALSE.
2012年03月06日 09点03分 1
level 1
sxwf1230 楼主
Public Function list(ByVal strFilePath As String) As String
Dim ftpStream As NetworkStream
'ftpStream = New NetworkStream
ftpStream = myftpCreate.GetResponseStream
Dim returnMessage As String
FTPCommands(ftpStream, "PASV", returnMessage)
Dim DownloadStream As NetworkStream
DownloadStream = GetConnectTcpClient(returnMessage)
FTPCommands(ftpStream, "TYPE I ", returnMessage)
FTPCommands(ftpStream, "LIST " + strFilePath, returnMessage)
returnMessage = "-- 目录文件消息 --" + vbCrLf + returnMessage
Dim listlen As Long
Dim lst() As Byte
ReDim lst(1024)
Dim UPFile As New FileStream("f:/1.txt", FileMode.Open)
Do
listlen = DownloadStream.Read(lst, 0, 1024)
UPFile.Write(lst, 0, listlen)
Loop While listlen > 0
Return returnMessage
ftpStream.Close()
End Function这段代码老提示""未将对象引用设置到对象的实例。""
2012年03月07日 00点03分 2
level 8
老大不用这么麻烦吧,我不是说有 FtpWebRequest 类吗?
例子 :
'空间命名
Imports System.Net
'代码片断
Try
Dim FtpRequest As FtpWebRequest = FtpWebRequest.Create(New Uri("ftp://****"))
Dim FtpResponse As FtpWebResponse
With FtpRequest
.UseBinary = True
.Credentials = New NetworkCredential("用户", "密码")
.KeepAlive = False
.Method = WebRequestMethods.Ftp.ListDirectory '这个是简单列表 详细列表我想应该不用说了
FtpResponse = .GetResponse
Dim rs As New StreamReader(FtpResponse.GetResponseStream, System.Text.Encoding.Default)
MsgBox(rs.ReadToEnd)
End With
FtpRequest = Nothing
FtpResponse.Close()
FtpResponse = Nothing
Catch ex As Exception
End Try

2012年03月09日 18点03分 3
level 8
判断文件夹是否存在,可以看返回文本,如果返回的是空字符串就是不存在 ,这个方法准确度不是很高
2012年03月09日 18点03分 4
1