> ' This is the standard > ' total 4696 > ' drw-rw-rw- 1 user group 0 Feb 6 15:46 . > ' drw-rw-rw- 1 user group 0 Feb 6 15:46 .. > ' -rw-rw-rw- 1 user group 4825 May 3 2010 Account.png > ' -rw-rw-rw- 1 user group 5242 May 3 2010 Administration.png > ' -rw-rw-rw- 1 user group 4117 Apr 17 2011 Agent.png > ' -rw-rw-rw- 1 user group 1402 Dec 30 2005 AmazonCA.gif > ' -rw-rw-r-- 1 wliclus weblogic 308121 Jun 1 2011 tlv_01_jackk_2011615315_1185655_001_23327701.zip > > ' This is also another format we have to support > ' -r-xr-xr-x 1 owner group 78145990 Nov 4 2011 101.zip > ' -r-xr-xr-x 1 owner group 35492 Apr 14 2011 20110414.40E > ' -r-xr-xr-x 1 owner group 33583 Apr 14 2011 20110414.421 > ' -r-xr-xr-x 1 owner group 40815 Apr 14 2011 20110414.483 > ' -r-xr-xr-x 1 owner group 24836 Apr 14 2011 20110414.ARC > ' -r-xr-xr-x 1 owner group 4737 May 5 2011 4A16PBE1.txt > ' -r-xr-xr-x 1 owner group 4737 Jan 18 13:50 4A17A7B1.txt >>
> ' If this is a file > If lcLine.StartsWith("-") Then > > ' Get the character at position 42 > lcCharacter = Mid(lcLine, 42, 1) > > ' If this is a space > If lcCharacter = " " Then > lcFile = Mid(lcLine, 56) > lnSize = Val(Mid(lcLine, 34, 8)) > lcDate = Mid(lcLine, 43, 12) > Else > lcFile = Mid(lcLine, 60) > lnSize = Val(Mid(lcLine, 34, 14)) > lcDate = Mid(lcLine, 47, 12) > End If >>
Imports System.Collections.Generic Imports System.Linq Namespace ConsoleApplication5 Class Program Private Shared Sub Main(args As String()) Dim typeA As New List(Of String)() From { _ " drw-rw-rw- 1 user group 0 Feb 6 15:46 .", _ " drw-rw-rw- 1 user group 0 Feb 6 15:46 ..", _ " -rw-rw-rw- 1 user group 4825 May 3 2010 Account.png", _ " -rw-rw-rw- 1 user group 5242 May 3 2010 Administration.png", _ " -rw-rw-rw- 1 user group 4117 Apr 17 2011 Agent.png", _ " -rw-rw-rw- 1 user group 1402 Dec 30 2005 AmazonCA.gif", _ " -rw-rw-r-- 1 wliclus weblogic 308121 Jun 1 2011 tlv_01_jackk_2011615315_1185655_001_23327701.zip", _ " -r-xr-xr-x 1 owner group 78145990 Nov 4 2011 101.zip", _ " -r-xr-xr-x 1 owner group 35492 Apr 14 2011 20110414.40E", _ " -r-xr-xr-x 1 owner group 33583 Apr 14 2011 20110414.421", _ " -r-xr-xr-x 1 owner group 40815 Apr 14 2011 20110414.483", _ " -r-xr-xr-x 1 owner group 24836 Apr 14 2011 20110414.ARC", _ " -r-xr-xr-x 1 owner group 4737 May 5 2011 4A16PBE1.txt", _ " -r-xr-xr-x 1 owner group 4737 Jan 18 13:50 4A17A7B1.txt" _ } Dim result As IEnumerable(Of FTPInfo) = typeA.[Select](Function(x) Dim line As String() = DirectCast(x, String).Split(DirectCast(Nothing, Char()), StringSplitOptions.RemoveEmptyEntries) Return New FTPInfo() With { _ Key .File = line(8), _ Key .Size = line(4), _ Key .Month = line(5), _ Key .Day = line(6), _ Key .YearOrTime = line(7) _ } End Function) End Sub End Class Public Structure FTPInfo Public File As String Public Size As String Public Month As String Public Day As String Public YearOrTime As String End Structure End NamespaceDisclaimer: VB auto-converted from C#.....