vb.Net 文本文件操作中文变乱码的问题。
刘小辉同学 2003-09-12 03:06:46 一天,心血来朝搞搞.Net,打开vb.Net 建了一个窗体,后想:干点啥呢?
先整个按钮上去,一个按钮被放在了窗体上,再来个对话框吧,一个文
件打开对话框也被发在了窗体上,做啥呢!做个文本文本复制功能吧!
不用api得用用.Net框架提供的功能试试,不然还不如用vc6呢!
看了一下msdn中的使用.Net框架编程/基本IO/从文本文件读取文本,会了。
在按钮的事件中写。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
If (File.Exists(OpenFileDialog1.FileName)) Then
Dim sr As New StreamReader(OpenFileDialog1.FileName)
Dim sw As New StreamWriter("f:\mytest.txt")
Dim input As String
input = sr.ReadLine
While Not input Is Nothing
sw.WriteLine(input)
input = sr.ReadLine
End While
sr.Close()
sw.Close()
End If
End If
End Sub
运行,没错!
打开文本文件一看,怎么中文的部分都变成乱码了?
想想差那儿呢?没概念!上网找答案吧!google了,
查啥呢?"vb.net 乱码" 没找到:(
上www.csdn.net找找,找到了几篇,看了没懂。自己试吧!
最终:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
If (File.Exists(OpenFileDialog1.FileName)) Then
Dim sr As New StreamReader(OpenFileDialog1.FileName, System.Text.Encoding.GetEncoding("gb2312"))
Dim sw As New StreamWriter("f:\mytest.txt", False, System.Text.Encoding.GetEncoding("gb2312"))
Dim input As String
input = sr.ReadLine
While Not input Is Nothing
sw.WriteLine(input)
input = sr.ReadLine
End While
sr.Close()
sw.Close()
End If
End If
End Sub
通了!呵呵!