代码之家  ›  专栏  ›  技术社区  ›  madlan

将文本文件读取到数组中(仅存储数字数据)

  •  1
  • madlan  · 技术社区  · 14 年前

    我正在尝试从文本文件(以下)中读取特定值:

    Current Online Users: 0
    Total User Logins: 0
    Server Uptime: 0 day, 0 hour, 0 minute
    Downloaded Amount: 0.000 KB
    Uploaded Amount: 0.000 MB
    Downloaded Files: 0
    Uploaded Files: 0
    Download Bandwidth Utilization: 0.00 KB/s
    Upload Bandwidth Utilization: 000.00 KB/s
    

    我可以将文件读取到数组:

       Dim path As String = "C:\Stats.txt"
       Dim StringArrayOfTextLines() As String = System.IO.File.ReadAllLines(path)
    

    如何只存储阵列中需要的数据?我已经尝试了拆分和子字符串,但无法计算出一个可用的方法——我需要在每行冒号后面的文本上。

    我在想,我只需要数字数据,能不能从每一行中提取数据,而不只是分解成一个数组?

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    8 年前

    要捕获结肠之后的所有内容,只需在其上拆分并获取每个结果的第二个元素:

    For Each s In StringArrayOfTextLines
        Console.WriteLine(s.Split(":")(1).Trim())
    Next
    

    如果您在读取数据时想这样做,则需要使用 StreamReader 喜欢 Joel suggested .

        2
  •  0
  •   Joel Coehoorn    14 年前

    readalllines只做它所说的事情。您必须对结果进行迭代。要直接读取所需的数据,必须编写代码以使用system.io.streamreader(它的readline()函数),甚至只使用base system.io.filestream。