1
我需要編寫一個例程,它可以完全下載服務器上的給定目錄 - 所有文件和目錄。在C中使用FTP下載多個文件
現在我有一個程序,列出目錄內容
public List<string> GetListOfFiles(string serverPath)
{
List<string> files = new List<string>();
try
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + serverPath);
request.Credentials = new NetworkCredential(_domain + "\\" + _username, _password);
request.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string line = reader.ReadLine();
while (line != null)
{
files.Add(line);
line = reader.ReadLine();
}
response.Close();
}
catch (WebException ex)
{
FtpWebResponse response = (FtpWebResponse)ex.Response;
string exMsg = string.Empty;
switch (response.StatusCode)
{
case FtpStatusCode.NotLoggedIn:
exMsg = "wrong username/password";
break;
default:
exMsg = "The server is inaccessible or taking too long to respond.";
break;
}
throw new Exception(exMsg);
}
return files;
}
的問題是,我得到的文件和目錄的列表...所以像
file1.dll
文件2。 dll
dir1Name
有沒有辦法在列出文件名和目錄名時區分?像一面旗子?
由'ListDirectory'返回的響應不是標準化的,可以根據服務器運行的軟件而有所不同。正因爲如此,沒有一種從文件中分辨目錄的好方法。 – cadrell0