SocketTools .NET Edition

FtpClient.GetFileList Method (String, String, boolean)

Returns an unparsed list of files in the specified directory.

[Visual Basic]
Overloads Public Function GetFileList( _
   ByVal remotePath As String, _
   ByRef fileList As String, _
   ByVal nameOnly As Boolean _
) As Boolean
[C#]
public bool GetFileList(
   string remotePath,
   ref string fileList,
   bool nameOnly
);

Parameters

remotePath
A string value which specifies the name of a directory on the server. The list of files and subdirectories in that directory will be returned to the client. To obtain a list of files in the current working directory on the server, use an empty string.
fileList
A string buffer passed by reference that will contain the file list data when the method returns.
nameOnly
A boolean value that specifies if the file listing should contain only the file name, or should include additional information about the file such as the size, ownership and permissions.

Return Value

This method returns a boolean value. If the method succeeds, the return value is true. If the method fails, the return value is false. To get extended error information, check the value of the LastError property.

Remarks

The GetFileList method returns a list of files in the specified directory, copying the data to a string buffer. Unlike the GetFirstFile and GetNextFile methods that parses a directory listing, this method returns the unparsed file list data. The actual format of the data that is returned depends on the operating system and how the server implements file listings. For example, UNIX servers typically return the output from the /bin/ls command.

Some servers may not support file listings for any directory other than the current working directory. If an error is returned when specifying a directory name, try changing the current working directory using the ChangeDirectory method and then call this method again, an empty string as the remotePath parameter.

This method can be particularly useful when the client is connected to a server that returns file listings in a format that is not recognized by the component. The application can retrieve the unparsed file listing from the server and parse the contents. Note that if you specify the nameOnly parameter as true, the data will only contain a list of file names and there will be no way for the application to know if they represent a regular file or a subdirectory.

This method is supported for both FTP and SFTP (SSH) connections, however the format of the data may differ depending on which protocol is used. Most UNIX based FTP servers will not list files and subdirectories that begin with a period, however most SFTP servers will return a list of all files, even those that begin with a period.

This method will cause the current thread to block until the file listing completes, a timeout occurs or the operation is canceled.

See Also

FtpClient Class | SocketTools Namespace | FtpClient.GetFileList Overload List