我正在尝试从数组中的文本文件中读取特定行(例如,行16,25,34等)。你能告诉我是否有可能以及如何做到这一点?
提前致谢, Pouya
答案 0 :(得分:-1)
是的,这是可能的。由于这不是基于代码将详细说明如何实现。这取决于目标文件的大小。如果PC的内存大小不大,那么你可以在读取时读取整个文本文件。保留计数。
然后在读取文件时开始使用正则表达式结束您的行。
检查:
VB.NET Read Certain text in a text file
您的解决方案就在这里:
http://www.dreamincode.net/forums/topic/56497-go-to-a-particular-line-in-a-text-file-using-vbnet/
How to read a specific line from a text file in VB
好的,我在这里也引用了代码,以便像我上面提供的那样从第二个开始帮助你。我确定您知道如何从数组中获取数据,而不是line
您将添加数组。
Public Function
ReadSpecifiedLine(ByVal line As
Integer) As String
'create a variable to
hold the contents of the file
Dim contents As String = String.Empty
'create a variable to
hold our line contents
Dim lineText As String =
String.Empty
' always use a
try...catch to deal
' with any exceptions
that may occur
Try
'Using lineByLine As New IO.StreamReader(_fileName)
Dim lineCount As Integer = 0
While Not lineByLine.EndOfStream
lineByLine.ReadLine ()
If lineCount = line Then
' you can replace the line variable above or use the And Or to match the lines from your array.
lineText = lineByLine.ReadLine()
End If
lineCount += 1
End While
End Using
Catch ex As FileNotFoundException
lineText = String.Empty
_returnMessage = ex.Message
Catch ex As Exception
' deal with any errors
_returnMessage = ex.Message
End Try
Return lineText
End Function
希望这会对你有所帮助。(抱歉在代码格式化方面存在一些问题,某些部分可能没有被删除或可见。如果看不到最终功能,请参阅链接。我已经尝试了很多次来填写此内容但是我没有正确使用移动电话。)