首页 > 解决方案 > 读取最后 2 行文本文件 VB.Net Win Forms

问题描述

通过单击按钮,我尝试读取文本文件,然后仅将最后两行输出到标签中。文本文件中的数据定期更改,但格式始终相同。

这是文本文件中内容的示例。

1393
00:23:12,000 --> 00:23:13,000
2020/08/12 12:43:47
+DMR DCC=4
插槽 1 TG=9003 RID=69

最后两行是我有兴趣得到的,在上面的例子中是

+DMR DCC=4
Slot 1 TG=9003 RID=69

这是我目前所拥有的,这似乎工作但我只是觉得它有点乱并想知道是否有人有任何其他建议。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Label1.text= ReadLog()

End Sub

Public Function ReadLog() As String
    Dim lines() As String = IO.File.ReadAllLines("C:\MyApp\log.txt")
    If lines.Length <= 4 Then Return String.Join(Environment.NewLine, lines)
    Dim lines4(3) As String
    Array.Copy(lines, lines.Length - 3, lines4, 0, 3)
    Return String.Join(Environment.NewLine, lines4)
End Function

标签: vb.net

解决方案


您说您想要最后两行,但您拥有的代码表明您想要最后四行。无论如何,lineCount在下面的代码中设置为适当的值。

Dim lines = File.ReadAllLines(filePath)
Dim lastLines = lines.Skip(Math.Max(0, lines.Length - lineCount))
Dim text = String.Join(Environment.NewLine, lastLines)

推荐阅读