我用以下语句读eml文件内容:
StringBuilder sb = new StringBuilder();
FileStream fs = new FileStream(path, FileMode.Open,FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.Default);
while((string rl=sr.ReadLine()) != null)
{
  sb.Append(rl); 
}
//当输入sb时,只能读取一行数据,且全是乱码,请各位大侠帮忙,应该如何读取eml这种格式的文件,也就是如果读取非文本文件!谢谢

解决方案 »

  1.   

     /// <summary>
            /// 读取二进制文件
            /// </summary>
            /// <param name="filename"></param>
            private void ReadBinaryFiles(string filename)
            {
                FileStream filesstream = new FileStream(filename, FileMode.Create);
                BinaryWriter objBinaryWriter = new BinaryWriter(filesstream);
                for (int index = 0; index < 20; index++)
                {
                    objBinaryWriter.Write((int)index);
                }
                objBinaryWriter.Close();
                filesstream.Close();
            }
    ==============  /// <summary>
            /// 
            /// </summary>
            /// <param name="path"></param>
            private void ReadFiles(string path)
            {
                try
                {
                    if (!File.Exists(path))
                    {
                        //文件不存在
                    }
                    else
                    {
                        //打开流读取
                        FileStream fs = File.OpenRead(path);
                        //创建一个byte 数组以读取数据
                        byte[] arr = new byte[100];
                        UTF8Encoding data = new UTF8Encoding(true);
                        //继续读完文件的所有数据
                        while (fs.Read(arr, 0, arr.Length) > 0)
                        {
                            //data.GetString(arr);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
      

  2.   

    如果我想用asp.net将二进制文件内容输出呢?应该怎么做?
      

  3.   

    我这还有一个aa.dat文件,用记事本打开,第一行前面的一些字符中乱码,往下几行就是正常的文字,我用
    StringBuilder sb = new StringBuilder(); 
    FileStream fs = new FileStream(path, FileMode.Open,FileAccess.Read); 
    StreamReader sr = new StreamReader(fs, Encoding.Default); 
    while((string rl=sr.ReadLine()) != null) 

      sb.Append(rl);  

    方法,读仍读出来是第一行,再就读不下去了,请高手帮忙!!!!!!!!!
      

  4.   

    我把读出来的内容Response.Write页面时没显示全部内容,我以为是没读全呢!