标题:关于记事本程序执行打开这一步骤的问题
只看楼主
shiyongjian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-6
结帖率:66.67%
已结贴  问题点数:10 回复次数:8 
关于记事本程序执行打开这一步骤的问题
为什么我写的那个代码在测试的时候,打开后,文件里边的内容要么是显示出来是缺少几行,或者是显示不出中文什么的,显示乱码。
搜索更多相关主题的帖子: 记事本 测试 中文 
2011-12-07 17:05
shiyongjian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-6
得分:0 
回复 楼主 shiyongjian
对了,我写的代码:
 private void OpenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog Open = new OpenFileDialog();
            Open.Filter = "(*.txt)|*.txt|(*.*)|*.*";
            Open.FilterIndex = 1;
            if (Open.ShowDialog() != DialogResult.OK)
                return;
            try
            {
                StreamReader sw = new StreamReader(Open.FileName, true);
                string a = sw.ReadLine();
                while (sw.ReadLine() != null)
                {
                    richTextBox1.Text +=a;
                    richTextBox1.Text += "\r\n";
                    a = sw.ReadLine();
                    
                }
                sw.Close();
            }
            catch(IOException ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
2011-12-07 17:18
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:3 
字符编码的问题,用GB2312打开,详见StreamReader构造函数重载!

   唯实惟新 至诚致志
2011-12-07 17:54
shiyongjian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-6
得分:0 
回复 3楼 qq1023569223
要怎么改,能不能指点一下,我现在学这个GUI ,学得头都大了
2011-12-07 21:11
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
我也好久没做了,StreamReader sw = new StreamReader(Open.FileName, true,Encoding.Getcoding("GB2312"));,好像是这样,网上找下!

   唯实惟新 至诚致志
2011-12-08 08:48
yinniannian
Rank: 9Rank: 9Rank: 9
来 自:河北省石家庄
等 级:蜘蛛侠
威 望:2
帖 子:256
专家分:1007
注 册:2011-5-13
得分:3 
StreamReader sr = new StreamReader(open.FileName,Encoding .Default);

代做小型软件。
QQ:449795473
2011-12-08 14:28
yinniannian
Rank: 9Rank: 9Rank: 9
来 自:河北省石家庄
等 级:蜘蛛侠
威 望:2
帖 子:256
专家分:1007
注 册:2011-5-13
得分:0 
程序代码:
while (sw.ReadLine() != null)
                {
                    richTextBox1.Text += a;
                    richTextBox1.Text += "\r\n";
                    a = sw.ReadLine();
                }
                richTextBox1.Text += a;

这样就对啦。因为还有一行内容保存在变量a里面,你没有取出来!

代做小型软件。
QQ:449795473
2011-12-08 14:32
shiyongjian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-12-6
得分:0 
回复 7楼 yinniannian
谢谢啊,我今天晚上回去看看行不行
2011-12-08 15:06
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
得分:3 
FileStream的编码格式改为 Encoding.Default
2011-12-10 22:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-357228-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050327 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved