慢慢来

Emmet.C's Technology Blog

导航

如何通过FileStream写入中文?

Posted on 2004-09-03 23:55  Emmet.C  阅读(2059)  评论(4编辑  收藏  举报
这些日子在一个应用中需要把一个DataSet导出成CSV文件以便Excel读取,但是现在存在个问题:
我通过FileStream导出后发现其中的中文全部是???这样的乱码。
这段代码如下:
        /// <summary>
        
/// 将一个String转化为一个Byte数组
        
/// </summary>
        
/// <param name="sPassword">需要转化的string</param>
        
/// <returns>转化后的bytes数组</returns>

        public byte[] GetKeyByteArray(string para)
        
{    
            System.Text.ASCIIEncoding myASCII
=new ASCIIEncoding();
            
byte[] byteTemp=new byte[8];
            para
=para.PadRight(8);    //确保是8个字符
            byteTemp=myASCII.GetBytes(para);
            
return byteTemp;        
        }

        /// <summary>
        
/// 将一个字符串附加到一个文件
        
/// </summary>
        
/// <param name="sourceFileName">源文件(需要添加的文件)</param>
        
/// <param name="para">用于添加的字符串</param>

        public long AppendStringToFile(string sourceFileName,string para)
        
{
            
byte[] myBytes=GetKeyByteArray(para);
            
//创建处理文件的文件流
            FileStream fsOutput=new FileStream(sourceFileName ,FileMode.Append, FileAccess.Write);

            fsOutput.Write(myBytes,
0,myBytes.Length);

            fsOutput.Close();fsOutput
=null;

            
return myBytes.Length;
        }

大家知道这是什么原因吗?谢谢