C# 读写文本文件乱码解决方案
来源:互联网 发布:大学生网络安全教育ppt 编辑:程序博客网 时间:2024/05/23 13:23
在使用C#对文本文件读取的时候,如果其中包含了中文,经常会出现乱码。一般解决是在StreamReader加一个编码,我使用的是Encoding.UTF8,一般情况下使用这个参数就可以。但是,在这次我使用UTF8却无效。而且使用,unicode和UTF32都会使用StreamReader的EndOfStream在读取一行之后,就会变成true。我想原因可能是使用这种编码没有正确读取出换行符,使读取一次之后就到达了文件末尾。
直到后来,看到一片资料,使用Encoding.GetEncoding("gb2312"),就解决了乱码问题。看来需要百度一下gb2312和UTF8的区别。
附:原文:
在对文本文件进行读取的时候,如果其中包含了中文,可能就会有乱码的出现,解决方法很简单。只需要在读取出来的时候StreamReader加一个编码就可以了。代码如下:
using System.IO;
StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));//fileName为文件的绝对路径
由于C#操作文件的内容网上有很多,我就不详细说明了,下面给出两个函数,分别用来读取和写入文本文件,记得引用System.IO;
/// <summary>
/// 功能:
/// 在指定的文件filename处生成该文件,并且以内容content来填充。
/// </summary>
/// <param name="filename">文件名</param>
/// <param name="content">文件内容</param>
public static void CreateFile(string filename,string content)
{
try
{
//这个构造函数的具体含义:在指定的文件fileName处,第二个参数表示是否将内容追加到文件。如果文件存在,并且第二个参数append为false,那么将改写文件,如果append为true,则在末尾加入内容,如果文件不存在,则创建该文件,并且填充内容。 所以就算文件不存在,我们这样创建文本文件也是没有问题的。
StreamWriter sw = new StreamWriter(filename,false,Encoding.GetEncoding("gb2312"));
sw.Write(content);
sw.Flush();
sw.Close();
}
catch(IOException ioe)
{
throw ioe;
}
}
/// <summary>
/// 功能:
/// 在文件的最前面加入内容content
/// </summary>
/// <param name="filename">文件名</param>
/// <param name="content">插入的内容</param>
public static void InsertFile(string filename,string content)
{
try
{
StreamReader sr = new StreamReader(filename,Encoding.GetEncoding("gb2312"));
content += sr.ReadToEnd();
sr.Close();
CreateFile(filename,content);
}
catch(IOException ioe)
{
throw ioe;
}
}
/// <summary>
/// 功能:
/// 在文件末尾增加指定内容content
/// </summary>
/// <param name="filename">文件名</param>
/// <param name="content">新增内容</param>
public static void AppendFile(string filename,string content)
{
try
{
string filecontent = "";
StreamReader sr = new StreamReader(filename,Encoding.GetEncoding("gb2312"));
filecontent += sr.ReadToEnd() + content;//如
- C# 读写文本文件乱码解决方案
- C# 读写文本文件乱码解决方案
- C#之四十二 C# 读写文本文件乱码解决方案
- C#读写文本文件
- C#读写文本文件
- C#读写日志文本文件
- C#读写日志文本文件
- C#文本文件读写代码
- C#读写文本文件小结
- C# Stream读写文本文件
- C#读写日志文本文件
- C#读写文本文件
- C#读写文本文件
- 用C#读写文本文件
- C#读写文本文件
- c#读写文本文件
- C# 文本文件读写问题
- C#文本文件(.txt)读写
- CentOS–FTP安装与配置
- 图片垂直水平居中的N种方法
- 眉目传情之匠心独运的kfifo
- HLJUOJ1104(贪心)
- FCKeditor使用方法技术详解
- C# 读写文本文件乱码解决方案
- ACM数学
- map,队列
- Socket请求和Http请求的各自特点、区别及适用场景
- C++分别用指针和引用实现交换函数
- Oracle数据库操作大全(十三)——pl/sql编程(存储过程、函数、触发器)
- linux下的cc和gcc
- oracle 存储过程,触发器遍历游标的三种方法
- 手工添加jar到本地maven库