一尘不染

解析FtpWebRequest ListDirectoryDe​​tails行

c#

在解析ListDirectoryDetailsC#中的响应时,我需要一些帮助。

我只需要以下字段。

  • 文件名/目录名
  • 创建日期
  • 和文件大小。

这是我运行时的几行内容ListDirectoryDetails

d--x--x--x    2 ftp      ftp          4096 Mar 07  2002 bin
-rw-r--r--    1 ftp      ftp        659450 Jun 15 05:07 TEST.TXT
-rw-r--r--    1 ftp      ftp      101786380 Sep 08  2008 TEST03-05.TXT
drwxrwxr-x    2 ftp      ftp          4096 May 06 12:24 dropoff

提前致谢。


阅读 265

收藏
2020-05-19

共1个答案

一尘不染

不知道您是否仍然需要这个,但这是我想出的解决方案:

Regex regex = new Regex ( @"^([d-])([rwxt-]{3}){3}\s+\d{1,}\s+.*?(\d{1,})\s+(\w+\s+\d{1,2}\s+(?:\d{4})?)(\d{1,2}:\d{2})?\s+(.+?)\s?$",
    RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace );

比赛组:

  1. 对象类型:
    • d:目录
    • -:文件
  2. 权限数组[3](rwx-)
  3. 文件大小
  4. 最后修改日期
  5. 上次修改时间
  6. 文件/目录名称
2020-05-19