繁体   English   中英

用VB.NET逐行读取文件

[英]Read a file line by line with VB.NET

以下代码用于逐行读取文件。

它只是一个非常早期的版本,所以我想做的就是在即时窗口中显示字符串。 它的工作正常,除了诸如ÄÖÖèà等字符被带有问号的黑色方块所取代。 根据文档,文件阅读器应该与UTF-8字符兼容,所以我不知道有什么问题。

...

    Dim reader = File.OpenText(filetoimport.Text)

    Dim line As String = Nothing

    Dim lines As Integer = 0

    While (reader.Peek() <> -1)
        line = reader.ReadLine()
        If line.StartsWith("<item key=""") Then
            Dim Firstpart As String = Nothing

            Firstpart = line.Substring(11, line.IndexOf(""" value=") - 11)

            Debug.WriteLine(Firstpart)

            lines = lines + 1

            Label3.Text = lines
            Application.DoEvents()
        Else
            Label3.Text = lines
            Application.DoEvents()
        End If

    End While

...

该文件是ANSI编码的,不是UTF-8,但读者使用UTF-8。

像这样......我用它来读汉字......

Dim reader as StreamReader = My.Computer.FileSystem.OpenTextFileReader(filetoimport.Text)
Dim a as String

Do
   a = reader.ReadLine
   '
   ' Code here
   '
Loop Until a Is Nothing

reader.Close()

用这个替换读者声明,现在它可以工作!

Dim reader As New StreamReader(filetoimport.Text, Encoding.Default)

Encoding.Default表示在Windows控制面板下设置的ANSI代码页。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM