获取文件的创建日期(FTP)我使用的是System.Net.FtpWebRequest类,我的代码如下:)WebRequest.Create("ftp://example.com/folder");request.Method=WebRequestMethods.Ftp.ListDirectory;request.Credentials=newNetworkCredential("用户名","密码");FtpWebResponse响应=(FtpWebResponse)request.GetResponse();流responseStream=response.GetResponseStream();StreamReaderreader=newStreamReader(responseStream);字符串名称=reader.ReadToEnd();读者。关闭();响应.关闭();这是基于MSDN上提供的示例,但我找不到更多详细信息。我将文件夹中的所有文件名都存储在名称中,但现在如何遍历每个文件名并检索其日期?我想检索日期以便找到最新的文件。谢谢。WebRequestMethods.Ftp.ListDirectory返回FTP目录中所有文件的“短列表”。这种类型的列表仅提供文件名-不提供文件的其他详细信息,例如权限或上次修改日期。请改用WebRequestMethods.Ftp.ListDirectoryDe??tails。此方法将返回FTP服务器上的一长串文件。一旦将此列表检索到names变量中,就可以根据行尾字符将names变量拆分为一个数组。这将导致每个数组元素都是具有权限的文件(或目录)名称列表,最后修改日期所有者等......此时,您可以循环遍历此数组,检查每个文件的最后修改日期,并决定是否下载文件。我希望这有帮助!!这似乎工作正常request.Method=WebRequestMethods.Ftp.GetDateTimestamp;FtpWebResponseresponse=(FtpWebResponse)request.GetResponse();Console.WriteLine("{0}{1}",serverUri,response.LastModified);不幸的是,使用.NET框架提供的功能检索时间戳并不是真正可靠的有效方法,因为它不支持FTPMLSD命令。MLSD命令以标准化的机器可读格式提供远程目录列表。RFC3659对命令和格式进行了标准化。您可以使用的备选方案,.NET框架支持:或者,您可以使用支持现代MLSD命令的第三方FTP客户端实现。例如,WinSCP.NET程序集支持它。甚至还有一个特定任务的示例:下载最新文件。该示例适用于PowerShell和SFTP,但可以轻松转换为C#和FTP://设置会话选项SessionOptionssessionOptions=newSessionOptions{Protocol=Protocol.Ftp,HostName="example.com",UserName="username",Password="密码",};using(Sessionsession=newSession()){//连接会话。打开(会话选项);//获取目录中的文件列表stringremotePath="/remote/path/";RemoteDirectoryInfodirectoryInfo=session.ListDirectory(remotePath);//选择最近的文件RemoteFileInfolatest=directoryInfo.Files.OrderByDescending(file=>file.LastWriteTime).First();//下载选择的文件stringlocalPath=@"C:localpath";字符串sourcePath=RemotePath.EscapeFileMask(remotePath+latest.Name);session.GetFiles(sourcePath,localPath).Check();}(我是WinSCP的作者)首先,您需要在文件名分隔符上使用String。Split拆分名称。然后遍历所有字符串并导航目录。以上就是C#学习教程:检索文件创建日期(FTP)分享的全部内容。网络收藏不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
