C#读写中文文件

/// <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#对文件读写、打开、追加、打开、删除、移动、创建目录等操作。和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"));
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值