有什么样的报错信息吗? (sw.WriteLine("添加中文")不行吗?

解决方案 »

  1.   

    祝大家新年身体健康,合家欢乐!
    StreamReader reader = new StreamReader(fs,Encoding.GetEncoding("gb2312"));
      

  2.   

    StreamWriter   sw   =   new   StreamWriter(fs,system.text.encoding.default); 
    sw.WriteLine(row); 
      

  3.   

    是这样的:
    StreamReader reader = new StreamReader(fs,Encoding.GetEncoding("gb2312")); 
    的默认编码方式是utf-8,如果你用这种方法读取文件并用这种方法把原文件内容copy到一个新文件里面时,你会发现新文件的内容虽然和原文件一样,当时大小比原文件稍微大一点。这就是编码产生的问题。
    如果想完全一致的COPY文件,就用:
    StreamWriter sw = new StreamWriter(fs,system.text.encoding.default);   
    如果你用JAVA编程,则不用显示的写出编码方式为所谓的“默认方式”,但是在C#里面,写文件的编码方式是要“显示”的注明的。这个时候,你就可以COPY一个和原文件完全一样的新文件了。