C# FTP Server Dosya Listesi Almak, yazım ile C# eğitim setime devam ediyorum. Bu yazım C# İle FTP Üzerine İşlemler yazı serimin 4. yazısıdır.
C# FTP Server Dosya Listesi Almak
Önceki yazım olan C# FTP Server Dosya Kontrolü Yapmak yazımda ftp servere bağlanıp bir dosya klasör varmı yokmu hakkında bilgiler vermiştim. Bu yazımda C# ile bir ftp server ‘e bağlanıp klasör ve dosya listesi alma işlemini göreceğiz.
Arkadaşlar bu konuyu hiç denemedim ama çalışacağına inanıyorum. Bu yüzden paylaşıyorum. Bir sorun yaşarsanız yorum olarak sorabilirsiniz.
Öncelikle FTP Serverimize bağlantı kodlarımızı verelim.
string FTPDosyaYolu = "ftp:/88.88.88.88:8888//FTP_Files"; FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(FTPDosyaYolu); string username = "kullaniciadi"; string password = "şifre"; request.Credentials = new NetworkCredential(username, password); request.UsePassive = true; // pasif olarak kullanabilme request.UseBinary = true; // aktarım binary ile olacak request.KeepAlive = false; // sürekli açık tutma request.Method = WebRequestMethods.Ftp.ListDirectory;
Gördüğünüz gibi bu seferki metodumuz ListDirectory’dir.
Şimdi kodlarımızın devamını görelim.
string[] DosyaListesi; WebResponse response = FTP.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string line = reader.ReadLine(); while (line != null) { result.Append(line); result.Append("\n"); line = reader.ReadLine(); } result.Remove(result.ToString().LastIndexOf('\n'), 1); reader.Close(); response.Close(); DosyaListesi = result.ToString().Split('\n'); for (int x = 0; x < downloadFiles.Length; x++) { lbListe.Items.Add(DosyaListesi[x].ToString()); }
Kodlarımızı açıklamak gerekirse,
Öncelikle alacağımız listeyi yükleyeceğimiz bir array list tanımlıyoruz.
Yaptığımız isteğe geri dönen yanıtı response ile alıyoruz.
StreamReader ile gelen yanıtı okuyoruz.
Gelen listedeki verileri Append ile aralarına enter (alt satıra inme) yaparak alıyoruz.
En sonra kalan enter işlemini geri alıyoruz.
Okuma işlemini (Reader) ile Yanıtı (Response) kapatıyoruz.
Aldığımız listeyi, ilk tanımladığımız array liste atayarak bir for döngüsü ile bir listbox nesnesine yazıyoruz. (For döngüsü hakkındaki dersime buradan ulaşabilirsiniz.)
Bu şekilde FTP Serverdeki bütün dosya ve klasörleri listbox’a doldurmuş oluyoruz.
C# FTP Server Dosya Listesi Almak, yazımda buraya kadar arkadaşlar. Diğer derslerimizde görüşmek üzere…
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…
Takipte ve Sağlıcakla kalın.