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

原创 2007年10月16日 11:26:00

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

 

C# 读取 TXT文件的时候中文乱码解决方法

用C#编写notepad时,读取文件时发现英文显示正常,但是中文就是一个一个方框。如果把txt转换成UTF-8格式时读取就正常,so怀疑是编码问题,仔细查了查帮助,发现Default的说明是“获取系统...
  • qq_23502409
  • qq_23502409
  • 2017-09-15 13:38:01
  • 2217

c# 调用log4net,解决中文字符显示乱码的问题

主要步骤: 1.下载从开源网站下载获取dll文件log4net.dll; http://logging.apache.org/log4net/download_log4net.cgi  2.建立c# ...
  • ericwuhk
  • ericwuhk
  • 2017-01-07 16:54:41
  • 2411

C# 将中文乱码转换成中文

  • 2009年12月10日 15:51
  • 360B
  • 下载

C# newtonsoft.json 中文 乱码 问号 解决方法

发送方在序列化json时这样写,必须将gameinfo类序列化成json:string jsonstr=JsonConvert.SerializeObject(gameinfo, new JsonSe...
  • wf824284257
  • wf824284257
  • 2017-03-11 13:40:28
  • 2767

C#在传中文值会出现乱码的解决方法:

1) Response.Redirect("download.aspx?path=" + HttpContext.Current.Server.MapPath("~/现场安装单信息.xls") + ...
  • zzy7075
  • zzy7075
  • 2014-07-27 17:30:02
  • 1034

Csharp Webbrowser---解决乱码,解决js注入html无法运行

Csharp Webbrowser—解决乱码,解决js注入html无法运行2016-10-01 1、webbrowser自动在百度搜索框输出文字时乱码,同时以汉字直接在控制台输出也是乱码 2、注入ht...
  • tagMatrix4
  • tagMatrix4
  • 2016-10-01 19:42:34
  • 778

C#中StreamReader读取中文出现乱码

有时在用C#中StreamReader读取中文时出现乱码 如: using System; using System.Collections.Generic; using System.Lin...
  • yhrun
  • yhrun
  • 2012-06-13 17:38:53
  • 28150

C# 中文乱码问题

最近在用C#代码处理C++返回的字符串时,发现当返回的是中文时,用WPF显示后,出现的是乱码,显然,编码出现问题了,对传回来的String做了一下UTF-8转码,中文显示正常。Byte[] timeo...
  • alading2009
  • alading2009
  • 2015-07-09 20:16:34
  • 3339

C#Socket传送/接收中文出现乱码的解决办法

我的程式采用Base64编码方式1.Clienttry    {    TcpClient client = new TcpClient();    Console.WriteLine("Connec...
  • marvinhong
  • marvinhong
  • 2005-06-02 12:06:00
  • 6354

C# : Socket 接收中文显示乱码的解决办法

由 Programming C# 3.0 示例改编 AsyncNetClient.cs
  • belldeep
  • belldeep
  • 2015-10-01 21:02:03
  • 3287
收藏助手
不良信息举报
您举报文章:C#的文件操作及中文乱码问题的解决
举报原因:
原因补充:

(最多只允许输入30个字)