我正在使用Visual Basic(Visual Studio 2010)打开和读取未分隔的大文本文件(该文件由基于UNIX的程序生成)。我需要将该长行解析为130个字符的行。我知道如何阅读该文件。但我不知道如何将其分解为这些行。你能帮忙吗?
提前感谢您的协助!
唐
答案 0 :(得分:1)
创建StreamReader strReader = New StreamReader("file.txt")
并使用方法StreamReader.read(new char[130], 0, 130);
130第一个字符将被放入char数组中。然后,您必须偏移到文件末尾。
该功能的文档在这里:http://msdn.microsoft.com/en-us/library/9kstw824(v=vs.110).aspx
修改强>
更好的方法是使用此处建议的readBlocks方法:When to use StreamReader.ReadBlock()?
char buffer = char[130];
int len = 0;
while((len = strReader.ReadBlock(buffer, 0 , 130)) != 0)
{
Dim value As String = New String(buffer);
Console.WriteLine(value);
}
while将继续,直到文件中还有剩余字符。 value
字符串包含130个字符的行,您可以随意使用它。
答案 1 :(得分:0)
以下是Mathieu Nls ReadBlock()的VB版本,其中包含一些小的更改和修复:
Dim charsRead As Integer
Dim buffer(129) As Char ' 0 to 129 = 130 chars
Using SR As New System.IO.StreamReader(RestranName)
While Not SR.EndOfStream
charsRead = SR.ReadBlock(buffer, 0, buffer.Length)
If charsRead > 0 Then
Dim str As New String(buffer, 0, charsRead)
Debug.Print(str)
End If
End While
End Using