1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| Public Class FTPManageFiles
Private _ftpConnect As FTPConnect
Public Sub New(ByVal pMachineName As String)
_ftpConnect = New FTPConnect(pMachineName)
End Sub
Public Sub ListFiles()
Dim responseStream As Stream = Nothing
Dim streamReader As StreamReader = Nothing
Dim connection As NetworkCredential = _ftpConnect.GetConnection
Dim uriServer As Uri = _ftpConnect.GetTargetServer
Try
' Création de la requête de récupération de la liste des fichiers
Dim maRequeteListe As FtpWebRequest = CType(WebRequest.Create(uriServer), FtpWebRequest)
maRequeteListe.Method = WebRequestMethods.Ftp.ListDirectoryDetails
maRequeteListe.Credentials = connection
' Récupération de la liste de fichiers
Dim maResponseListe As FtpWebResponse = CType(maRequeteListe.GetResponse, FtpWebResponse)
' Placement du flux provenant du serveur dans un streamreader
streamReader = New StreamReader(maResponseListe.GetResponseStream, Encoding.Default)
' Lecture du stream reader
Dim listeBrute As String = streamReader.ReadToEnd
Dim separateur() As String = {vbLf}
' Découpage et récupération des noms de fichiers
Dim tableauListe() As String = listeBrute.Split(separateur, StringSplitOptions.RemoveEmptyEntries)
' On débute à 1 car la première ligne contient le Total
Dim i As Integer = 1
While i < tableauListe.Length
Console.WriteLine(tableauListe(i))
i += 1
End While
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
If responseStream IsNot Nothing Then
responseStream.Close()
End If
If streamReader IsNot Nothing Then
streamReader.Close()
End If
End Try
End Sub |
Partager