/// <summary> /// 根据路径读一行一行读取出文件类容 /// </summary> /// <param name="path"></param> void GetFileContent(string path) { if (!System.IO.File.Exists(path)) return; System.IO.StreamReader reader = new System.IO.StreamReader(path, Encoding.Default); string content = string.Empty; while (!reader.EndOfStream) { //一行一行的内容 content = reader.ReadLine(); } reader.Close(); reader.Dispose(); }
C#读写中文文件
using System.Text;
轻松解决C#读写文件遇到的中文乱码问题
轻松解决C#读写文件遇到的中文乱码问题
对C#读写文件网上的帖子泛滥成灾,百度一下就能轻松找到用C#对文件读写、打开、追加、打开、删除、移动、创建目录等操作。和Java一样,C#提供的类库能够轻松实现对文件的操作。
//C#写入/读出文本文件
string fileName =@"c:/111.txt"; StreamReader sr = new StreamReader(fileName); //改为StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312")); string str=sr.ReadLine (); sr.close(); StreamWriter rw=File.CreateText(Server.MapPath(".")+"//myText.txt"); rw.WriteLine("写入"); rw.WriteLine("abc"); rw.WriteLine(".NET笔记"); rw.Flush(); rw.Close();
//打开文本文件 StreamReader sr=File.OpenText(Server.MapPath(".")+"//myText.txt"); StringBuilder output=new StringBuilder(); string rl; 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:/sixAge/sixAge1 DirectoryInfod1=d.CreateSubdirectory("sixAge1"); //d2指向c:/sixAge/sixAge1/sixAge1_1 DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1"); //将当前目录设为c:/sixAge Directory.SetCurrentDirectory("c://sixAge"); //创建目录c:/sixAge/sixAge2 Directory.CreateDirectory("sixAge2"); //创建目录c:/sixAge/sixAge2/sixAge2_1 Directory.CreateDirectory("sixAge2//sixAge2_1");
但是,在对txt文件读的操作中貌似没问题。因为代码能实现文件的读操作,但是所读txt文件包含中文的时候就以乱码显示。查了半天资料,看似复杂的问题其实很简单就能解决,稍微改动一下即可:StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));