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
通了!呵呵!
...全文
500 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengxi 2003-09-12
  • 打赏
  • 举报
回复
我也曾经碰到这个问题
mainone 2003-09-12
  • 打赏
  • 举报
回复
呵呵你才知道啊1!汉字编码很麻烦的

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧