我正在尝试将所有文件放在ftp目录中但是我遇到的问题是它没有带回所有文件。但是第一个文件因为某些奇怪的原因没有得到文件名,所以我的程序会跳过它。
public static string[] GetFilesInDirectory(string requestUriString, string username, string password)
{
var lines = new List<string>();
try
{
// Get the object used to communicate with the server.
var request = (FtpWebRequest) WebRequest.Create(requestUriString);
request.Credentials = new NetworkCredential(username, password);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
request.UsePassive = true;
using (WebResponse response = (FtpWebResponse) request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
if (responseStream != null)
{
using (var reader = new StreamReader(responseStream))
{
string line;
while ((line = reader.ReadLine()) != null)
{
try
{
lines.Add(line);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
}
}
catch (Exception ex)
{
throw new Exception("An error occured connecting to the website.", ex);
}
return lines.ToArray();
}
当我查看你在这里看到的文件时,前两个文件中缺少名称。
您将看到文件名丢失,计数正确,但不知道文件名为空的原因。
以下是服务器上的文件,因为你看到有13个文件。
这是我的文件数组。