标题:文件操作
只看楼主
zhangjun039009
Rank: 2
等 级:论坛游民
帖 子:60
专家分:10
注 册:2008-10-16
结帖率:100%
 问题点数:0 回复次数:4 
文件操作
我是想这样做:将Cet4中的字符读入到array中,如果遇到空格的话就将数组中的内容输出到textbox_查询结果中去,可是报错:“输出字符缓冲区太小,无法包含解码后的字符,编码“Unicode (UTF-8)”的操作回退”,这是怎么回事?如果我写错了,还忘高手可以指点一二!


ArrayList array = new ArrayList();
 private void button_查询_Click(object sender, EventArgs e)
        {
            FileStream fs = new FileStream("Cet4.txt", FileMode.Open, FileAccess.ReadWrite);
                       BinaryReader binreader = new BinaryReader(fs);
           char stread =' ' ;
            while (binreader.PeekChar() != -1)
            {
                stread = binreader.ReadChar() ;
            }
            array.Add(stread);
            if(stread==' ')
           textbox_查询结果.Text =array.ToString();
            
        }
搜索更多相关主题的帖子: 文件操作 
2008-11-06 14:57
Y08M09D26
Rank: 2
等 级:论坛游民
帖 子:118
专家分:13
注 册:2008-9-26
得分:0 
你是要把文档中的单词取出来吧
2008-11-06 16:11
zhangjun039009
Rank: 2
等 级:论坛游民
帖 子:60
专家分:10
注 册:2008-10-16
得分:0 
回复 2# 的帖子
是的,
2008-11-06 20:10
shmilylee
Rank: 2
来 自:江苏扬州蹩脚小公司
等 级:论坛游民
威 望:2
帖 子:242
专家分:22
注 册:2007-7-6
得分:0 
你这样做只会取到最后一个字符啊!
再怎么说也要把array.Add方法放进循环里吧?不然还要array干什么呢!
读单词可以这样写啊

程序代码:
            FileStream fs = new FileStream("Cet4.txt", FileMode.Open, FileAccess.ReadWrite);
            StreamReader reader = new StreamReader(fs);
            string[] word = reader.ReadToEnd().Split(" ".ToCharArray());


太可恶了,居然不能超过100个字符!
这区区100个又怎么能概括我平凡而又伟大的一生!
2008-11-07 11:04
Y08M09D26
Rank: 2
等 级:论坛游民
帖 子:118
专家分:13
注 册:2008-9-26
得分:0 
楼上正解
用完StreamReader
加个close()

[[it] 本帖最后由 Y08M09D26 于 2008-11-7 15:34 编辑 [/it]]
2008-11-07 15:26



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




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

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