vbnet 读取PM文件判断第一行是否为HINTCAD583_PM_SHUJU_PM不是则提示文件格式不对。从第4行开始只读取7个数据空格不算存入数组表。从第4行开始每间隔3行读取一组。如果1行数据都为0时停止并将读取的数据写入文件
以下是一个示例代码,可以实现你所描述的功能:
Imports System.IO
Module Module1
Sub Main()
Dim filePath As String = "文件路径" ' 替换为你的PM文件路径
Dim outputFilePath As String = "输出文件路径" ' 替换为你想要输出的文件路径
' 读取PM文件内容
Dim lines As String() = File.ReadAllLines(filePath)
' 判断第一行是否为指定字符串
If lines.Length > 0 AndAlso lines(0) = "HINTCAD5.83_PM_SHUJU_PM" Then
' 存储读取的数据
Dim data As New List(Of Integer)
' 从第4行开始读取数据
Dim startIndex As Integer = 3
' 每间隔3行读取一组数据
While startIndex + 6 < lines.Length ' 至少还有7行数据
Dim zeroCount As Integer = 0 ' 用于计算每组数据中0的个数
' 读取每一组数据
For i As Integer = startIndex To startIndex + 6
Dim line As String = lines(i)
Dim value As Integer
' 尝试将每行数据转换为整数
If Integer.TryParse(line, value) Then
data.Add(value)
' 统计0的个数
If value = 0 Then
zeroCount += 1
End If
End If
Next
' 如果一组数据中所有值都为0,则停止读取
If zeroCount = 7 Then
Exit While
End If
startIndex += 9 ' 加9,跳过未读取的3行
End While
' 将读取的数据写入文件
File.WriteAllLines(outputFilePath, data.Select(Function(d) d.ToString()))
Else
Console.WriteLine("文件格式不正确")
End If
End Sub
End Module
请替换 "文件路径" 和 "输出文件路径" 为你的实际文件路径。这段代码首先读取指定路径的PM文件的内容,然后判断第一行是否为指定的字符串。如果是,则从第4行开始读取数据,每间隔3行读取一组,存入名为 data 的数组表。如果一组数据中所有值都为0,则停止读取,并将读取的数据写入到指定的输出文件中。如果第一行不是指定的字符串,则输出提示信息"文件格式不正确"。
请注意,这只是一个示例代码,具体实现还取决于你的PM文件的具体格式和要求。你可能需要根据实际情况进行适当的修改和调整
原文地址: http://www.cveoy.top/t/topic/h3ML 著作权归作者所有。请勿转载和采集!