• 读写文本文件,乱码解决方案


    在对文本文件进行读取的时候,如果其中包含了中文,可能就会有乱码的出现,解决方法很简单。只需要在读取出来的时候StreamReader加一个编码就可以了。代码如下:
    using System.IO;
    StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));//fileName为文件的绝对路径
    
    由于C#操作文件的内容网上有很多,我就不详细说明了,下面给出两个函数,分别用来读取和写入文本文件,记得引用System.IO;
    /// <summary>
            /// 功能:
            /// 在指定的文件filename处生成该文件,并且以内容content来填充。
            /// </summary>
            /// <param name="filename">文件名</param>
            /// <paramname="content">文件内容</param>
            public static void CreateFile(string filename,string content)
            {
                try
                {
    /*这个构造函数的具体含义:在指定的文件fileName处,第二个参数表示是否将内容追加到文件。如果文件存在,并且第二个参数append为false,那么将改写文件,如果append为true,则在末尾加入内容,如果文件不存在,则创建该文件,并且填充内容。所以就算文件不存在,我们这样创建文本文件也是没有问题的。*/
    StreamWriter sw = newStreamWriter(filename,false,Encoding.GetEncoding("gb2312"));
                   sw.Write(content);
                   sw.Flush();
                   sw.Close();
                }
                catch(IOException ioe)
                {
                   throw ioe;
                }
            }
    
    /// <summary>
            /// 功能:
            /// 在文件的最前面加入内容content
            /// </summary>
            /// <paramname="filename">文件名</param>
            /// <paramname="content">插入的内容</param>
            public static void InsertFile(string filename,string content)
            {
                try
                {
                   StreamReader sr = newStreamReader(filename,Encoding.GetEncoding("gb2312"));
                    content+= sr.ReadToEnd();
                   sr.Close();
                   CreateFile(filename,content);
    
                }
                catch(IOException ioe)
                {
                   throw ioe;
                }
            }
            /// <summary>
            /// 功能:
            /// 在文件末尾增加指定内容content
            /// </summary>
            /// <paramname="filename">文件名</param>
            /// <paramname="content">新增内容</param>
            public static void AppendFile(string filename,string content)
            {
                try
                {
                   string filecontent = "";
                   StreamReader sr = newStreamReader(filename,Encoding.GetEncoding("gb2312"));
                   filecontent += sr.ReadToEnd() + content;//如果要保持文件格式则必须这么读,不能一行一行读!
                   sr.Close();
                   CreateFile(filename,filecontent);
    
                }
                catch(IOException ioe)
                {
                   throw ioe;
                }
            }
  • 相关阅读:
    Java抓取网页数据(原网页+Javascript返回数据)
    jvm调优
    Windows系统下nodejs安装及配置
    《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS
    数据结构与算法一
    Oracle Hints具体解释
    hibernate-4.3.5安装配置
    linux-多线程
    利用JasperReport+iReport进行Web报表开发
    linux下tar.xz 文件解压
  • 原文地址:https://www.cnblogs.com/ghgxm520/p/8340841.html
Copyright © 2020-2023  润新知