在VB.NET中读取txt文件的一部分

时间:2013-04-08 21:42:11

标签: vb.net text filestream

我需要逐个读取txt文件... 例如,在txt文件中:( age,5char_name)

17susan23wilma25fredy

我需要先阅读17susan。换句话说,前七个字符在23wilma25fredy之后,但是我没有读取整个文件并对文件记录进行子串。有没有办法可以做这是通过streamreader?

记录总是七个字节...年龄为2个字节,名称为5个字节,一行中的所有记录。没有跳到下一行。

3 个答案:

答案 0 :(得分:1)

我认为有解决方案:

Dim filestream As New FileStream("\records.txt", FileMode.Open)
Dim streamreader As New StreamReader(fs)
Dim buffer(7) As Char
bw.ReadBlock(buffer, 0, 7)
Console.WriteLine(buffer)

这是先读7 ..你可以通过循环或其他方式阅读..

答案 1 :(得分:0)

假设每条记录有一个静态字符数(说明中有七个),您可以使用FileStream阅读器,并使用Read方法一次检索七个字符。

例如:

Const  chunkSize As Integer = 7
Using inputFile = File.OpenRead("namefile.txt")
    Dim bytesRead As Integer
    Dim buffer = New Byte(chunkSize - 1) {}

    bytesRead = inputFile.Read(buffer, 0, buffer.Length)
    while bytesRead = 7
            'Process the buffer here
            bytesRead = inputFile.Read(buffer, 0, buffer.Length)
    End While
End Using

(代码未经过测试,但应该关闭)

答案 2 :(得分:0)

如果您总是想使用前7个字符,您只需使用Visual Basic代码行,如:

Dim Result as String = Microsoft.VisualBasic.Left(string, no)

String是StreamReader行,您只想从中读取前七个字符。

否是任何整数值,它等于您想要读取的字符数,在本例中为7。

此外,以同样的方式,您可以使用右和中间从右侧或中间的某个位置选择字符串。