当您需要获取FTP服务器上所有目录的列表时,有什么办法可以处理这种情况:目录数量如此之大,以至于需要太长的时间才能得到它,而且操作因超时而失败?ftp目录列表超时。大量的子目录
我不知道是否有一些图书馆让你这么做吗?
当您需要获取FTP服务器上所有目录的列表时,有什么办法可以处理这种情况:目录数量如此之大,以至于需要太长的时间才能得到它,而且操作因超时而失败?ftp目录列表超时。大量的子目录
我不知道是否有一些图书馆让你这么做吗?
尝试是这样的
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(uri);
ftpRequest.Credentials = new NetworkCredential("anonymous","[email protected]");//replace with your Creds
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());
List<string> directories = new List<string>();
string line = streamReader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
directories.Add(line);
line = streamReader.ReadLine();
}
streamReader.Close();
// also add some code that will Dispose of the StreamReader object
// something like ((IDisposable)streanReader).Dispose();
// Dispose of the List<string> as well
line = null;
能否限制仅数据即找到的第一个5级,并做了LOD方法? – 2012-02-10 15:49:33
你能把它分成几块吗?说所有以'a'开头的文件夹,然后是以'b'开头的另一个查询,等等。也许你可以用其他方式拆分查询(即date) – Adrian 2012-02-10 15:49:53
关键是ListDirectory我在下面发布了一个例子如何做到这一点..谢谢你快乐星期五 – MethodMan 2012-02-10 15:53:43