当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 程序代码如下: 我想根据查询返回的不同k值来动态更改datagrid显示的行的背景颜色 <asp:datagrid id="showdata" runat="server" datakeyfield="id" oneditcommand="show_edit" onupdatecommand="......
 ·一个串cstring s="abcdef"    »显示摘要«
    摘要: 一个串cstring s="abcdef" 我要得到"bcd”子串,请问该用cstring的哪个函数? ......


读中文文本文件,并分割的问题

FileStream   fs   =   new   FileStream("d:\\aa.txt",FileMode.Open);  
  byte[]   bb=   new   Byte[fs.Length];  
  fs.Read(bb,0,bb.Length);  
  aa.txt含有中文,现在需要将bb分割,分割后要保证文字的正确,请问应该怎么做?

NO.1   作者: snewxf

不能一行一行读吗?  
    StreamReader   srReadLine   =   new   StreamReader(  
                          (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),  
                    System.Text.Encoding.ASCII);  
                    srReadLine.BaseStream.Seek(0,   SeekOrigin.Begin);  
                    while   (srReadLine.Peek()   >   -1)   {  
                          Console.WriteLine(srReadLine.ReadLine());  
                    }  
                    srReadLine.Close();  
   
  假如非要这样的话。使用这个方法试试:  
  从   index   开始,从当前流中将最多的   count   个字符读入   buffer。  
  public   override   int   Read(  
        in   char[]   buffer,  
        int   index,  
        int   count  
  );  
   
   
  StreamReader   srRead   =   new   StreamReader(  
                          (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),  
                          System.Text.Encoding.ASCII);  
                    //   set   the   file   pointer   to   the   beginning  
                    srRead.BaseStream.Seek(0,   SeekOrigin.Begin);  
                    srRead.BaseStream.Position   =   0;  
                    while   (srRead.BaseStream.Position   <   srRead.BaseStream.Length)   {  
                          char[]   buffer   =   new   char[1];  
                          srRead.Read(buffer,   0,   1);  
                          Console.Write(buffer[0].ToString());  
                          srRead.BaseStream.Position++;  
                    }  
                    srRead.DiscardBufferedData();  
                    srRead.Close();  
   
   
   
   
   
   
  要求  
 

NO.2   作者: tj_dns

分成数组。

NO.3   作者: talkinsmile

建议,可以先用正则表达式将从文件中读出来的中文和英文分开,然后分别处理就可以了。匹配中文的正则表达式是:[\u4E00-\u9FA0]+。

NO.4   作者: 2002pine

你可以用StreamReader   srReadLine   =   new   StreamReader(  
                          (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),  
                    System.Text.Encoding.UTF8);   or   unicode  
  然后用streamReader.read方法,就不会把汉字分开


 ·让菜鸟头晕了两天的问题:    »显示摘要«
    摘要: 让菜鸟头晕了两天的问题: 在主窗口mainform动态创建了两个子窗口tjform和xdform1 ttjform *tjform=new ttjform(this); tjform->show(); txdform1 *xdform=new txdform(this); xdform->show(); 在xdform1上有两个按钮a和b。 希望单击a按钮动态创建xdform2......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE