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# 字符串乱码

string str = "ÖлªÈËÃñ¹²ºÍ¹ú";             Encoding ec = Encoding.GetEncoding("iso-8859-1");      ...
  • maozhu_yimi
  • maozhu_yimi
  • 2016年02月04日 10:38
  • 2619

c# 乱码解决方法

 1 设置web.config                  requestEncoding="utf-8"              responseEncoding="utf-8"      ...
  • zuoming120
  • zuoming120
  • 2009年11月18日 13:36
  • 7137

C#读写文件中文乱码

读写文件的时候,文件中存在中文字符; 直接读取会出现乱码,然后一搜索网上的各种乱码处理方法,大多数是对读取的string进行转码。 其实有一种简单的方法,就是直接在读取的时候就设置编码,代码如下:...
  • u012348774
  • u012348774
  • 2015年11月06日 10:40
  • 1620

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

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

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

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

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

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

C# 中文乱码问题

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

C#中WebClient中文乱码的解决办法

第一次尝试:  string question = textBox1.Text.ToString(); WebClient youdao = new WebClient(); youdao.Enco...
  • youaregoo
  • youaregoo
  • 2013年05月25日 14:22
  • 7820

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

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

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

由 Programming C# 3.0 示例改编 AsyncNetClient.cs
  • belldeep
  • belldeep
  • 2015年10月01日 21:02
  • 2737
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#的文件操作及中文乱码问题的解决
举报原因:
原因补充:

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