您的位置:首页 > 编程语言 > C#

C#的文件操作及中文乱码问题的解决

2007-10-16 11:26 1971 查看
对C#读写文件网上的帖子泛滥成灾,百度一下就能轻松找到用C#对文件读写、打开、追加、打开、删除、移动、创建目录等操作。和Java一样,C#提供的类库能够轻松实现对文件的操作。


//C#写入/读出文本文件




string fileName =@"c:I.txt";


StreamReader sr = new StreamReader(fileName); string str=sr.ReadLine (); sr.close();




StreamWriterrw=File.CreateText(Server.MapPath(".")+"/myText.txt");


rw.WriteLine("写入");


rw.WriteLine("abc");


rw.WriteLine(".NET笔记");


rw.Flush();


rw.Close();




//打开文本文件


StreamReadersr=File.OpenText(Server.MapPath(".")+"/myText.txt");


StringBuilderoutput=newStringBuilder();


stringrl;


while((rl=sr.ReadLine())!=null)




...{


output.Append(rl+"");


}




lblFile.Text=output.ToString();


sr.Close();






//C#追加文件


StreamWritersw=File.AppendText(Server.MapPath(".")+"/myText.txt");


sw.WriteLine("追逐理想");


sw.WriteLine("kzlll");


sw.WriteLine(".NET笔记");


sw.Flush();


sw.Close();




//C#拷贝文件


stringOrignFile,NewFile;


OrignFile=Server.MapPath(".")+"/myText.txt";


NewFile=Server.MapPath(".")+"/myTextCopy.txt";


File.Copy(OrignFile,NewFile,true);




//C#删除文件


stringdelFile=Server.MapPath(".")+"/myTextCopy.txt";


File.Delete(delFile);




//C#移动文件


stringOrignFile,NewFile;


OrignFile=Server.MapPath(".")+"/myText.txt";


NewFile=Server.MapPath(".")+"/myTextCopy.txt";


File.Move(OrignFile,NewFile);




//C#创建目录


//创建目录c:sixAge


DirectoryInfod=Directory.CreateDirectory("c:/sixAge");


//d1指向c:sixAgesixAge1


DirectoryInfod1=d.CreateSubdirectory("sixAge1");


//d2指向c:sixAgesixAge1sixAge1_1


DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1");


//将当前目录设为c:sixAge


Directory.SetCurrentDirectory("c:/sixAge");


//创建目录c:sixAgesixAge2


Directory.CreateDirectory("sixAge2");


//创建目录c:sixAgesixAge2sixAge2_1


Directory.CreateDirectory("sixAge2/sixAge2_1");

但是,在对txt文件读的操作中貌似没问题。因为代码能实现文件的读操作,但是所读txt文件包含中文的时候就以乱码显示。查了半天资料,看似复杂的问题其实很简单就能解决,稍微改动一下即可:StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: