C#读取中文字符及清空缓冲区的实现代码

 更新时间:2010年12月06日 16:26:06   作者:  
有一个txt的中英文语料库文件,内容是英文一句中文一句相间的,共3000行,需要把英文句和中文句分开,放在单独的txt文件中。
开时始,得到的中文文件中的字符是乱码的,鸟符号看的头晕。于是就细究streamreader读取的编码格式,默认的编码是ascii,单字节的,就尝试utf8,乱码;尝试gb2312,OK!
可另一个问题又出现了,得到的两个文件的行数都不到1500行,尝试N次还是不行,很郁闷。google了下,看到try catch,就想到释放缓冲区,结果很HAPPY!
复制代码 代码如下:

private static void FnFileProcess()
{
StreamReader reader = new StreamReader(@"d:\1500.txt", Encoding.GetEncoding("GB2312"));
StreamWriter writerEn = new StreamWriter(@"d:\English.txt", false, Encoding.UTF8, 1024);
StreamWriter writerCh = new StreamWriter(@"d:\Chinese.txt", false, Encoding.UTF8, 1024);
try
{
int i = 1;
for (String line = reader.ReadLine(); line != null; line = reader.ReadLine())
{
if (i % 2 == 1)
{
writerEn.WriteLine(line);
}
else
{
writerCh.WriteLine(line);
}
i++;
}
Console.WriteLine(i + "\tOK");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
//不清空缓冲区,得到的文件总是少几十行
writerEn.Flush();
writerCh.Flush();
}
}

相关文章

  • GridView生成的HTML代码示例对比

    GridView生成的HTML代码示例对比

    很多初学者都奇怪GridView生成的HTML代码到底是什么,下面有个示例对比,需要的朋友可以参考下
    2014-02-02
  • asp.net 获取TreeView中第一个选中的节点

    asp.net 获取TreeView中第一个选中的节点

    今天做的项目中有一个要获取TreeView中第一个选中的节点,当然子节点己包含checkbox以前做过,用的时候又不知道怎么做了,花了点时间又写了一下,记录下来,以备下次用.
    2010-03-03
  • .net中自定义错误页面的实现升级篇

    .net中自定义错误页面的实现升级篇

    这篇文章主要给大家介绍了关于.net中自定义错误页面实现的相关资料,这篇文章是之前的升级篇,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • asp.net中的“按需打印”(打印你需要打印的部分) 实现代码

    asp.net中的“按需打印”(打印你需要打印的部分) 实现代码

    有时我们需要对asp.net网页中某些特定部分进行打印,很多人采用CSS样式或特定的打印控件来解决网页定制打印功能。这里采用Javascript样式替换方式进行打印,使网页显示与打印效果相分离。
    2013-06-06
  • MVC使用MvcPager实现分页效果

    MVC使用MvcPager实现分页效果

    这篇文章主要为大家详细介绍了MVC使用MvcPager实现分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • asp.net GridView控件中模板列CheckBox全选、反选、取消

    asp.net GridView控件中模板列CheckBox全选、反选、取消

    GridView控件中模板列CheckBox全选、反选、取消实现代码。
    2009-12-12
  • asp.net core mvc实现伪静态功能

    asp.net core mvc实现伪静态功能

    这篇文章主要为大家详细介绍了asp.net core mvc实现伪静态功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • ASP.NET Core基于现有数据库创建EF模型

    ASP.NET Core基于现有数据库创建EF模型

    这篇文章介绍了ASP.NET Core基于现有数据库创建EF模型的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • IIS实现反向代理时Cookie域的设置方法

    IIS实现反向代理时Cookie域的设置方法

    这篇文章主要给大家介绍了关于IIS实现反向代理时Cookie域的设置方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • .net开发微信公众平台实例教程

    .net开发微信公众平台实例教程

    这篇文章主要介绍了.net开发微信公众平台的方法,对微信公众平台开发的原理与相应的.net实现方法都做了较为详细的讲述,非常实用,需要的朋友可以参考下
    2014-10-10

最新评论