使用vb.net读取行数

时间:2011-07-26 11:33:16

标签: vb.net

如何计算不。我们上传的文件中的行可能是文本文件,也可能是csv或excel文件。 我使用代码获取记录计数如下:

Dim FileCount = From lin1 As String In File.ReadAllLines(hidFilePath.Value.ToString())
Let dd = lin1.Count
Select dd
Dim file_count As Integer =  FileCount.Count

但在某些情况下,我的错误计数。它没有显示确切的计数。

请帮忙,我应该能够在不循环文件中的每条记录的情况下获得计数。

感谢。

2 个答案:

答案 0 :(得分:6)

ReadAllLines返回一个字符串数组,因此您可以简单地获取数组的长度。

Dim file_count As Integer = _
    File.ReadAllLines(hidFilePath.Value.ToString()).Length

答案 1 :(得分:1)

编辑:快速阅读问题并用循环解决方案回答

您可以将行数设置为整​​数,并将阅读器读取到文件的末尾。

Dim sr As New StreamReader("file path here")    
Dim lineCount As Integer = System.Text.RegularExpressions.Regex.Split(sr.ReadToEnd(), Environment.NewLine).Length
sr.Close() 

您可以使用计数变量并循环浏览文件,直到没有

        ''name count and set it to 0
        Dim count As Integer
        count = 0  
        Dim obj As StreamReader
        obj = New StreamReader("C:\...\source.txt")
        ''loop through the file until the end
        Do Until obj.ReadLine Is Nothing
            count = count + 1
        Loop
        ''close file and show count
        obj.Close()
        MessageBox.Show(count)