Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Visual Basic逐行读取文件并将每一行存储在str中_Vb.net - Fatal编程技术网

Vb.net Visual Basic逐行读取文件并将每一行存储在str中

Vb.net Visual Basic逐行读取文件并将每一行存储在str中,vb.net,Vb.net,我正在尝试循环阅读文本文件的内容,逐行读取文本文件。在循环过程中,有几次我需要使用文件内容 Dim xRead As System.IO.StreamReader xRead = File.OpenText(TextBox3.Text) Do Until xRead.EndOfStream Dim linetext As String = xRead.ReadLine Dim aryTextFile() As String = linetext.Split(" ") Dim f

我正在尝试循环阅读文本文件的内容,逐行读取文本文件。在循环过程中,有几次我需要使用文件内容

Dim xRead As System.IO.StreamReader
xRead = File.OpenText(TextBox3.Text)

Do Until xRead.EndOfStream
  Dim linetext As String = xRead.ReadLine
  Dim aryTextFile() As String = linetext.Split("  ")

  Dim firstname As String = Val(aryTextFile(0))
  TextBox1.Text = firstname.ToString

  Dim lastname As String = Val(aryTextFile(0))
  TextBox2.Text = lastname.ToString
Loop
编辑:我要做的是读取,即文本文件中的前五项执行一些随机处理,然后读取文本文件的下五行


我希望能够使用从文本文件中提取的行作为分隔的字符串变量。

根据代码示例,不清楚为什么您需要在任何时候存储5行,因为您一次只处理一行。如果您认为一次执行5行会更快—这是不可能的,因为.NET在内部维护缓存,所以这两种方法可能执行相同的操作。然而,一次读一行是一种更简单的模式,所以最好先看一下

不过,下面是每5行处理一次的代码的近似版本:

Sub Main()
  Dim bufferMaxSize As Integer = 5
  Using xRead As New System.IO.StreamReader(TextBox3.Text)
    Dim buffer As New List(Of String)
    Do Until xRead.EndOfStream
      If buffer.Count < bufferMaxSize Then
        buffer.Add(xRead.ReadLine)
        Continue Do
      Else
        PerformProcessing(buffer)
        buffer.Clear()
      End If
    Loop
    If buffer.Count > 0 Then
      'if line count is not divisible by bufferMaxSize, 5 in this case
      'there will be a remainder of 1-4 records,
      'which also needs to be processed
      PerformProcessing(buffer)
    End If
  End Using
End Sub
Sub-Main()
Dim bufferMaxSize为整数=5
将xRead用作新的System.IO.StreamReader(TextBox3.Text)
将缓冲区变暗为新列表(字符串)
直到xRead.EndOfStream
如果buffer.Count0,则
'如果行计数不能被bufferMaxSize整除,则在本例中为5
“将有剩余的1-4条记录,
"这也需要处理
性能处理(缓冲区)
如果结束
终端使用
端接头

这是我的。放心。只需将位置从文件和copy1文件夹复制到does位置。这是我的第一个程序:)。准备好了吗

导入System.IO

模块1

Sub Main()

    For Each Line In File.ReadLines("C:\location.txt".ToArray)

        My.Computer.FileSystem.CopyDirectory("C:\Copy1", Line, True)


    Next
    Console.WriteLine("Done")
    Console.ReadLine()
End Sub

结束模块

您是否遇到异常?或者您可以定义“不工作”,因为它不是“明显的”。在调试器中单步执行,并告诉我们哪一行不符合预期。哦,很抱歉,没有错误,但结果字符串都是0。是的,它会的,首先您处理的是EOS,然后第二个val()会将任何非数字的内容转换为“0”。你想做什么?谢谢你的帮助我更新了我的问题,希望能解释我想做得更好:D删除Val()解决了我的0问题。。。