public event ExtendedAsyncCompletedEventHandler<TResult> ListDirectoryCompleted
Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory (Task-based approach).
using System; using ComponentPro.IO; using ComponentPro.Net; using ComponentPro; ... static async void Main() { // Create a new class instance. Ftp client = new Ftp(); // Connect to the FTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("test", "test"); // ... // Get information of all files and directories in '/' remote dir. FileInfoCollection list = await client.ListDirectoryAsync("/"); DisplayList(list); // ... // Some FTP servers do not support ListDirectory with parameter, we need to change directory before listing. client.SetCurrentDirectory("/my folder"); // Retrieve file list of the current directory - '/my folder' list = await client.ListDirectoryAsync(); DisplayList(list); // ... // List all files that have .exe extension in "/" folder. list = await client.ListDirectoryAsync("/", new NameSearchCondition("*.exe")); DisplayList(list); // ... // Change the current directory before calling ListDirectory. // Get names of files with .cs or .vb extensions and directories in '/my folder2' remote dir. client.SetCurrentDirectory("/my folder2"); list = await client.ListDirectoryAsync(new NameSearchCondition("*.cs;*.vb")); DisplayList(list); // ... // Disconnect. client.Disconnect(); } static void DisplayList(FileInfoCollection list) { foreach (FtpFileInfo info in list) { Console.WriteLine("Name: {0}, Permissions: {1}", info.Name, info.Permissions); } }
Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory (Event-based approach).
using System; using ComponentPro.IO; using ComponentPro.Net; using ComponentPro; ... static void Main() { // Create a new class instance. Ftp client = new Ftp(); // Connect to the FTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("test", "test"); // ... // Register an event handler. client.ListDirectoryCompleted += client_ListDirectoryCompleted; // Get information of all files and directories in '/' remote dir. client.ListDirectoryAsync("/"); // ... // Some FTP servers do not support ListDirectory with parameter, we need to change directory before listing. client.SetCurrentDirectory("/my folder"); // Retrieve file list of the current directory - '/my folder' client.ListDirectoryAsync(); // ... // List all files that have .exe extension in "/" folder. client.ListDirectoryAsync("/", new NameSearchCondition("*.exe")); // ... // Change the current directory before calling ListDirectory. // Get names of files with .cs or .vb extensions and directories in '/my folder2' remote dir. client.SetCurrentDirectory("/my folder2"); client.ListDirectoryAsync(new NameSearchCondition("*.cs;*.vb")); // ... // Disconnect. client.Disconnect(); } static void client_ListDirectoryCompleted(object sender, ExtendedAsyncCompletedEventArgs<FileInfoCollection> e) { // Ftp client = (Ftp)sender; if (e.Error != null) Console.WriteLine("Error: " + e.Error.Message); else { // Get information of all files and directories in '/' remote dir. foreach (FtpFileInfo info in e.Result) { Console.WriteLine("Name: {0}, Permissions: {1}", info.Name, info.Permissions); } } }
Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory (Task-based approach).
using System; using ComponentPro.IO; using ComponentPro.Net; ... // Create a new class instance. Sftp client = new Sftp(); // Connect to the SFTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("test", "test"); // ... // Get information of all files and directories in '/' remote dir. FileInfoCollection list = await client.ListDirectoryAsync("/"); // ... // Get information of all files and directories in '/' remote dir. foreach (SftpFileInfo info in list) { Console.WriteLine("Name: {0}, UserId: {1}, Permissions: {2}, Size: {3}", info.Name, info.OwnerId, info.Permissions, info.Length); } // Disconnect. client.Disconnect();
Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory.
using System; using ComponentPro; using ComponentPro.IO; using ComponentPro.Net; ... public void DoAsyncListDirectory() { // Create a new class instance. Sftp client = new Sftp(); // Connect to the SFTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("test", "test"); // ... // Register an event handler. client.ListDirectoryCompleted += client_ListDirectoryCompleted; // Get information of all files and directories in '/' remote dir. client.ListDirectoryAsync("/"); // ... // Disconnect. client.Disconnect(); } void client_ListDirectoryCompleted(object sender, ExtendedAsyncCompletedEventArgs<FileInfoCollection> e) { Sftp client = (Sftp)sender; try { // Get information of all files and directories in '/' remote dir. foreach (SftpFileInfo info in e.Result) { Console.WriteLine("Name: {0}, UserId: {1}, Permissions: {2}, Size: {3}", info.Name, info.OwnerId, info.Permissions, info.Length); } } catch (Exception exc) { Console.WriteLine("Error: " + exc.ToString()); } }