FileStream fs = new FileStream("I:\\xi.txt", FileMode.OpenOrCreate);
            int bodySize = 64 * 1024;
            byte[] data = new byte[bodySize];
            fs.Read(data, 0, bodySize);
            fs.Close();
             string str = string.Empty;
            str = Encoding.UTF8.GetString(data, 0, data.Length);
                      MessageBox.Show(str);
其中xi.txt 文件中的内容是对象序列化成byte[]数组在文件流的形式写入到里面的。
但是想把byte[]转换成string 一直为空?请问怎么回事?

解决方案 »

  1.   

    楼主,要一行一行的读:
    StreamReader objReader = new StreamReader("c:\\test.txt");
    string sLine="";
    ArrayList arrText = new ArrayList(); while (sLine != null)
    {
    sLine = objReader.ReadLine();
    if (sLine != null)
    arrText.Add(sLine);
    }
                            objReader.Close();
      

  2.   

    str = Encoding.UTF8.GetString(data, 0, data.Length);
    你读出来的byte数组肯定不是UTF8编码的,而是默认编码
    str = Encoding.Default.GetString(data, 0, data.Length);
    这样就对了