如何在C#中创建日期订购从FTP收到的文件?

如何在C#中创建日期订购从FTP收到的文件?,第1张

概述我从FTP目录中找到了一个文件名列表.但是现在文件名按文件名排序.我想要的是在创建日期之前订购文件,然后将它们保存在列表中.我只是弄不清楚怎么样? 这是我如何重新接收文件名并将它们添加到字符串列表中. try { FtpWebRequest request = (FtpWebRequest)WebRequest.Create(URI); 我从FTP目录中找到了一个文件名列表.但是现在文件名按文件名排序.我想要的是在创建日期之前订购文件,然后将它们保存在列表中.我只是弄不清楚怎么样?
这是我如何重新接收文件名并将它们添加到字符串列表中.

try        {            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(URI);            request.Method = WebRequestMethods.Ftp.ListDirectory;            request.Credentials = new NetworkCredential(ftpUsername,ftpPassword);            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[] { "\r\n" },StringSplitoptions.RemoveEmptyEntrIEs).ToList();        }        catch (Exception)        {            throw;        }

编辑:
所以我发现我之前收到文件的方式不包含创建文件的时间细节,因此我需要以另一种方式获取文件以获取创建日期.
 这是我获取文件的新方法.

try        {            /* Create an FTP Request */            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(URI);            /* Log in to the FTP Server with the User name and Password ProvIDed */            ftpRequest.Credentials = new NetworkCredential(ftpUsername,ftpPassword);            /* When in doubt,use these options */            ftpRequest.UseBinary = true;            ftpRequest.UsePassive = true;            ftpRequest.KeepAlive = true;            /* Specify the Type of FTP Request */            ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;            /* Establish Return Communication with the FTP Server */            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();            /* Establish Return Communication with the FTP Server */            ftpStream = ftpResponse.GetResponseStream();            /* Get the FTP Server's Response Stream */            StreamReader ftpReader = new StreamReader(ftpStream);            /* Store the Raw Response */            string directoryRaw = null;            /* Read Each line of the Response and Append a Pipe to Each line for Easy Parsing */            try            {                while (ftpReader.Peek() != -1)                 {                     directoryRaw += ftpReader.Readline() + "|";                 }            }            catch (Exception ex)            {                Console.Writeline(ex.ToString());            }            /* Resource Cleanup */            ftpReader.Close();            ftpStream.Close();            ftpResponse.Close();            ftpRequest = null;            /* Return the Directory Listing as a string Array by Parsing 'directoryRaw' with the Delimiter you Append (I use | in This Example) */            try            {                string[] directoryList = directoryRaw.Split("|".tochararray());                 return directoryList;            }            catch (Exception ex)            {                Console.Writeline(ex.ToString());            }        }        catch (Exception ex)        {            Console.Writeline(ex.ToString());        }        /* Return an Empty string Array if an Exception Occurs */        return new string[] { "" };

但我仍然无法弄清楚如何在创建日期之后对文件进行排序.是否有某种方式编写linq查询,如Orderby,某种方式?

解决方法 因此,在我发现我需要重新命名文件的详细列表后,排序问题很容易解决.我只需要调用Array.sort(arrayOffiles)这里是工作代码.

try        {            /* Create an FTP Request */            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(URI);            /* Log in to the FTP Server with the User name and Password ProvIDed */            ftpRequest.Credentials = new NetworkCredential(ftpUsername,use these options */            ftpRequest.UseBinary = true;            ftpRequest.UsePassive = true;            ftpRequest.KeepAlive = true;            /* Specify the Type of FTP Request */            ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;            /* Establish Return Communication with the FTP Server */            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();            /* Establish Return Communication with the FTP Server */            ftpStream = ftpResponse.GetResponseStream();            /* Get the FTP Server's Response Stream */            StreamReader ftpReader = new StreamReader(ftpStream);            /* Store the Raw Response */            string directoryRaw = null;            /* Read Each line of the Response and Append a Pipe to Each line for Easy Parsing */            try            {                while (ftpReader.Peek() != -1)                 {                     directoryRaw += ftpReader.Readline() + "|";                 }            }            catch (Exception ex)            {                Console.Writeline(ex.ToString());            }            /* Resource Cleanup */            ftpReader.Close();            ftpStream.Close();            ftpResponse.Close();            ftpRequest = null;            /* Return the Directory Listing as a string Array by Parsing 'directoryRaw' with the Delimiter you Append (I use | in This Example) */            try            {                string[] directoryList = directoryRaw.Split("|".tochararray());                Array.sort(directoryList);                return directoryList;            }            catch (Exception ex)            {                Console.Writeline(ex.ToString());            }        }        catch (Exception ex)        {            Console.Writeline(ex.ToString());        }        /* Return an Empty string Array if an Exception Occurs */        return new string[] { "" };
@H_419_39@ 总结

以上是内存溢出为你收集整理的如何在C#中创建日期订购从FTP收到的文件?全部内容,希望文章能够帮你解决如何在C#中创建日期订购从FTP收到的文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1226728.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存