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

来源:互联网 发布:网络拥塞控制 编辑:程序博客网 时间:2024/05/16 07:41

对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"));

 

原创粉丝点击