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

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

 

你可能感兴趣的:(java,c,.net,String,百度,C#)