把【Dim objreader As StreamReader = New StreamReader(filename)】
成都创新互联公司"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!成都创新互联公司具备承接各种类型的成都网站设计、做网站项目的能力。经过十年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。
改为【Dim objreader As IO.StreamReader = New IO.StreamReader(filename, System.Text.Encoding.Default)】
这是因为你保存的文本文件的编码和vb.net的默认编码不同,文本文件的默认编码是ANSI,而vb.net的默认编码是UTF-8.
解决方法1:按楼上的方法在代码内指定读取时使用的编码(System.Text.Encoding.Default表示使用操作系统系统默认的编码,如果中文系统的默认编码一般为ANSI)。
解决方法2:用记事本保存文本文件时指定保存的编码(如图):
这是编码问题。
用下面的方法:
If (Me.OpenFileDialog1.FilterIndex = 1) Then '1是一个标识
System.IO.File.WriteAllText(Me.SaveFileDialog1.FileName, RichTextBox1.Text, System.Text.Encoding.Default) '当标识等于1时保存的事PlainText格式
Else '否则
System.IO.File.WriteAllText(Me.SaveFileDialog1.FileName, RichTextBox1.Rtf, System.Text.Encoding.Default) '保存的是另一种格式
在使用streamReader和streamWriter的时候使用编码参数。
比如:dim sw As New StreamRriter("H:\编程资料\1.txt",System.Text.Encoding.Default)
dim sr As New StreamWeader("H:\编程资料\2.txt",true,System.Text.Encoding.Default)