FileStream fs = new FileStream(strFileName, FileMode.Open,FileAccess.Read);
StreamReader file = new StreamReader(fs,Encoding.GetEncoding("gb2312"));
解决方案 »
- 目前我的朋友拿到一份广告播放功能需求,请高手指点!
- winform treeview 怎么选中前一次选得节点
- 我刚入公司,有几个初级问题急等解决,得到正解立即结贴
- c#中,用什么方法可以代替Response.Write或Response.Redirect
- 关于Treeview 的节点
- 数据结构和算法
- 引用PDF打印机打印只打印出A4 纸其他幅面都打印不了。
- 如何定义让PropertyGrid控件显示[...]按钮,并且点击后弹出自定义窗口(或执行自定义过程)的属性?(用C#语言实现)
- 请教一个有关listview的问题!
- VS2005 设计器错误显示问题
- C#中怎样处理消息?
- 高手救急--如何将数据库表转换成类文件 谢谢
StreamReader sr=new StreamReader("F:\\STREETNAME.txt",System.Text.Encoding.GetEncoding("GB2312"));
int a=0;
StreamReader sr;
switch(a)//3种打开方式
{
case 0:
// sr=new StreamReader(@"d:\temp\b.txt",System.Text.Encoding.GetEncoding("GB2312") ,true);
sr=new StreamReader(@"d:\temp\b.txt",System.Text.Encoding.Default,true);
break;
case 1:
FileStream fsr=new FileStream(@"d:\temp\b.txt",FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
sr=new StreamReader(fsr,System.Text.Encoding .Default);
break;
default:
FileInfo MyFile=new FileInfo(@"d:\temp\b.txt");
sr=MyFile.OpenText();
//用windows的记事本写的中文文件,这里无法读出(乱码),但用streamwrite写的文件可以读出
break;
}Console.WriteLine(sr.CurrentEncoding );
string s;
int nextchar;
int i=0;
//3种读出方式
if(i==0)//逐行读出
for(;true;)
{
s=sr.ReadLine();//逐行读出
if(s!=null) Console.WriteLine(s);
else break;
//sr.ReadToEnd();//从当前位置开始将流的全部内容读完.
}
else if(i==1)//逐字读出,汉字也可以读出
{
while(sr.Peek()!=-1)//Peek并不会使指针向前移动,只是读一下而已
{
nextchar=sr.Read();//汉字也可以读出
Console.WriteLine((char)nextchar);
}
}
else if(i==2)//字串读出
{
int l;
l=100;
char[] chararr=new char[l];
sr.Read(chararr,0,l);//虽然汉字占2个字节,但读取汉字的时候汉字只占一个位置
for(int j=0;j<l;j++)
Console.WriteLine(chararr[j]);
}
sr.Close();