C# FTP获取当前目录所有文件
时间: 2024-09-20 19:12:15 浏览: 49
在C#中,你可以使用System.IO命名空间下的FtpClient类来连接FTP服务器并获取当前目录的所有文件。以下是一个基本示例,展示了如何完成这个任务:
```csharp
using System;
using System.IO;
public class FtpDirectoryTraversal
{
public static void Main()
{
string ftpServer = "ftp.example.com";
int ftpPort = 21; // 默认FTP端口
string userName = "username";
string password = "password";
using (FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"ftp://{ftpServer}:{ftpPort}/"))
{
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential(userName, password);
try
{
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string[] lines = reader.ReadToEnd().Split('\n');
foreach (string line in lines)
{
if (!string.IsNullOrEmpty(line)) // 留意空行和注释
{
Console.WriteLine(line); // 输出文件名
}
}
reader.Close();
response.Close();
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
}
```
在这个例子中,你需要替换`ftp.example.com`、`username`和`password`为你实际的FTP服务器地址和登录凭据。运行这个程序会列出指定目录下所有的文件和子目录名称。
阅读全文