使用TextFieldParser在当前行上读取前一行

时间:2019-03-10 15:42:17

标签: vb.net csv

有没有办法在仍处于当前行的情况下提前阅读csv的下一行?我需要向数据库中插入一些信息,但是我需要前面一行中的值...

Using MyReader As New 
Microsoft.VisualBasic.FileIO.TextFieldParser("D:\TEMP\HB\" & fName.ToString)
                MyReader.TextFieldType = FileIO.FieldType.Delimited
                MyReader.SetDelimiters(",")
                Dim currentRow As String()
                While Not MyReader.EndOfData
                        currentRow = MyReader.ReadFields()
                        nextRow = ?????

                End While

1 个答案:

答案 0 :(得分:1)

我不知道TextFieldParser类中的任何此类函数。 无论如何,请记住,一旦ReadFields()进入currentRow,文件光标就会移到下一行,因此当代码到达nextRow = ?????指令时,文件光标已经在该行上。如果您需要在不“消耗”该行的情况下读取该行的内容,则可以使用PeekChars(n)函数,该函数将从当前行读取“ n”个字符而无需移动光标位置,从而使行仍然可以从在ReadFields()通话之后。