gpt4 book ai didi

c# - 使用 C# 中的 FtpWebRequest 计算/列出 FTP 目录中的所有文件

转载 作者:行者123 更新时间:2023-11-30 17:32:10 25 4
gpt4 key购买 nike

我正在尝试进行 C# 编程,但出于某种原因,我一直坚持尝试对上传到我的 ftp 服务器上的所有文件进行计数。我已经尝试了一些来自 stackoverflow 的代码

代码:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(server);
request.Method = WebRequestMethods.Ftp.ListDirectory;

request.Credentials = new NetworkCredential(user, password);
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string names = reader.ReadToEnd();

reader.Close();
response.Close();

return names.Split(
new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList();

他确实连接到服务器,但只在他能找到的一个文件中向我展示了那里。

在这里你可以看到列表是一个字符串:

这是他找到的文件:

上传到我的服务器的所有文件:

这是我的列表(我不明白为什么有这么多索引):

最佳答案

你的代码对我有用,但@Ozug 可能是正确的,因为你的服务器无法使用 CRLF 行结尾。

一个更健壮(也更高效)的实现是:

List<string> names = new List<string>();
while (!reader.EndOfStream)
{
names.Add(reader.ReadLine());
}

它甚至应该处理 CR 行结尾。

另见 C# class to parse WebRequestMethods.Ftp.ListDirectoryDetails FTP response .

关于c# - 使用 C# 中的 FtpWebRequest 计算/列出 FTP 目录中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com