首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用VB.NET逐行读取文件

使用VB.NET逐行读取文件
EN

Stack Overflow用户
提问于 2013-06-04 22:57:25
回答 2查看 149.6K关注 0票数 11

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

这只是一个非常早期的版本,所以我想做的就是在“即时”窗口中显示字符串。它工作得很好,只是字符被一个带问号的黑色方块所取代。根据文档,文件读取器应该与UTF-8字符兼容,所以我不知道出了什么问题。

代码语言:javascript
复制
...

    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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-05 14:42:52

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

代码语言:javascript
复制
Dim reader As New StreamReader(filetoimport.Text, Encoding.Default)

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

票数 8
EN

Stack Overflow用户

发布于 2013-06-04 23:55:10

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

代码语言:javascript
复制
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()
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16921080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档