2014-12-30 1 views
-5

목록의 텍스트 줄을 2 ~ 5 줄의 임의의 범위로 읽고 링크로 저장하고 싶습니다.텍스트 파일을 읽는 vb.net 임의의 범위로 균열

예를 들어 :

aa 
bb 
cc 
dd 
ee 
ff 
gg 
hh 
ii 
yy 
tt 
rr 
ee 
ww 
qq 
uu 
oo 
pp 

그리고이 코드 : 그래서 나는 그것을 AA, BB 읽고 링크 '에 저장됩니다 실행하는 경우

Dim random As New Random() 
Dim n As Integer 
n = random.Next(2, 5) 
Dim textfile As String = "test.txt" 
Dim objReader As New System.IO.StreamReader(textfile) 
Dim List As String = objReader.ReadToEnd() 
Do While Not EOF() 
Dim link As List(Of String) = TextLink(resp) 
Loop 

나는 다음과 같은 포함 test.txt 파일이 '문자열 목록과 연속적으로 그것은 cc, dd, ee, ff와 같은 다음 줄을 임의로 읽고'링크 '에 저장합니다.

내가 원한다.

+1

에 오신 것을 환영합니다! 잠시 시간을내어 * 신중하게 검토하십시오 : [Ask] – Plutonix

+0

범위를 순서대로 (예 : aa, bb, cc, dd) 또는 임의의 3 줄을 텍스트 파일에서 사용 하시겠습니까? – Dman

+0

hi..i 범위가 규칙적으로 유지되기를 원합니다. 감사! – robin

답변

1

다음은 간단한 예제 :

Dim R As New Random 
    Dim Count As Integer 
    Dim RangeLength As Integer 
    Dim DataFileName As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "test.txt") 
    Dim Links As New List(Of List(Of String)) 
    Using SR As New System.IO.StreamReader(DataFileName) 
     While Not SR.EndOfStream 
      Count = 0 
      RangeLength = R.Next(2, 6) 
      Dim curLinkSet As New List(Of String) 
      Links.Add(curLinkSet) 
      While Not SR.EndOfStream AndAlso Count < RangeLength 
       curLinkSet.Add(SR.ReadLine) 
       Count = Count + 1 
      End While 
     End While 
    End Using 

    For i As Integer = 0 To Links.Count - 1 
     Debug.Print("Set #" & i) 
     Dim LinkSet As List(Of String) = Links(i) 
     For x As Integer = 0 To LinkSet.Count - 1 
      Debug.Print(x & ": " & LinkSet(x)) 
     Next 
     Debug.Print("") 
    Next 

샘플 출력 : 스택 오버플로

Set #0 
0: aa 
1: bb 
2: cc 

Set #1 
0: dd 
1: ee 
2: ff 
3: gg 
4: hh 

Set #2 
0: ii 
1: yy 
2: tt 
3: rr 

Set #3 
0: ee 
1: ww 
2: qq 
3: uu 

Set #4 
0: oo 
1: pp 
+0

나는 그것을 테스트했는데, 거의 내가 원하는 바 있지만 임의의 라인을 읽었다. 나는 순서대로 읽는 방법을 원한다. 그래서 처음으로 나는 aa bb cc를 읽고 두번째는 dd ee를 읽고 세 번째는 ff gg hh를 읽고 싶다. 이 명령 된 방식은 내가 원하는 것입니다. 감사! – robin

+0

아 ... 그래서 ** 전체 ** 파일을 순서대로 읽길 원하지만 한 번에 2 ~ 5 줄의 임의의 덩어리로 "수신"하시겠습니까? –

+0

맞습니다. 그게 정확히 내가 구현 한 것입니다! 덕분에 – robin

관련 문제