vbnet 读取PM文件 从第4行开始读取一行7个数据之后每隔3行读取一行的7个数据直至最后一行都为0时结束读取的数据存入一个2维数据过滤空格及其它符号只保留数字。可以查阅2维数据第几行第个数据
以下是一个示例代码,可以实现你的需求:
Imports System.IO
Module Module1
Sub Main()
Dim filePath As String = "C:\path\to\pm_file.txt"
Dim data As New List(Of List(Of Integer))
' 逐行读取文件内容
Using sr As New StreamReader(filePath)
Dim lineCount As Integer = 0
Dim line As String = sr.ReadLine()
' 跳过前3行
Do While lineCount < 3
line = sr.ReadLine()
lineCount += 1
Loop
' 从第4行开始,每隔3行读取一行的7个数据
Do While line IsNot Nothing
line = line.Trim() ' 过滤空格
If line = "0000000" Then ' 最后一行都为0时结束
Exit Do
End If
Dim numbers As New List(Of Integer)
Dim startIndex As Integer = 0
' 读取一行的7个数据
For i As Integer = 0 To 6
Dim endIndex As Integer = line.IndexOf(" ", startIndex)
Dim numberString As String = line.Substring(startIndex, endIndex - startIndex)
Dim number As Integer
If Integer.TryParse(numberString, number) Then ' 过滤非数字
numbers.Add(number)
End If
startIndex = endIndex + 1
Next
data.Add(numbers)
' 跳过下两行
For i As Integer = 0 To 1
line = sr.ReadLine()
Next
Loop
End Using
' 输出2维数据
For i As Integer = 0 To data.Count - 1
For j As Integer = 0 To data(i).Count - 1
Console.WriteLine("第{0}行第{1}个数据:{2}", i + 4, j + 1, data(i)(j))
Next
Next
Console.ReadLine()
End Sub
End Module
你需要将filePath变量的值修改为你要读取的PM文件的路径。代码会从第4行开始读取一行的7个数据,之后每隔3行读取一行的7个数据,直至最后一行都为0时结束。读取的数据会存储在名为data的2维数据中。
你可以在For循环中使用i和j的值来查阅2维数据中的某一行的第几个数据。注意,行和列的索引都是从0开始的,所以第一行的索引为0,第一个数据的索引为0
原文地址: http://www.cveoy.top/t/topic/h9If 著作权归作者所有。请勿转载和采集!