FileStream x = new FileStream(@"c:\123.txt", FileMode.Create);            byte[] w = new byte[4] { 32, 33, 43, 42 };
          
            x.Write(w, 0, 4);            x.Close();
显示  !+*
我在frilestream.write中没找到设置encoding的地方,为什么我写到文本中的不是32, 33, 43, 42 ????
filestream除了让streamwriter/streamreader包装一下难道没别的用处了???

解决方案 »

  1.   

    用编码对象把字符串"32334342"根据编码转成byte[],再write...你干脆用StreamWriter不就好了吗..多此一举...
      

  2.   

    你不是写进去了吗sp!+* 
    就是
    32,   33,   43,   42 的 ASCII码啊
      

  3.   

    1楼说的对,你这个是字节流,不是数字流也不是字符串流!你要显示32,33,43,42就要用int [] i ={   32,   33,   43,   42   };然后可以把i转换成byte[]流再执行
      

  4.   

    FileStream在OOP中是作为被操作对象存在的...单独的行动力很差~~~
      

  5.   

    我这个当然是字节流了!!filestream.write只接受byte[]
    我是说为什么我这个byte[]到文本中就被编码了,不被编码的话写在文本应该就是32   33  43   42把。编码难道是系统默认的么
      

  6.   

    6楼的你用char[]操作一下filestream
      

  7.   


                using (FileStream fs = new FileStream("F:\\a.txt", FileMode.OpenOrCreate))
                {
                    char[] str = new char[] { 'a', 'b', 'c' };
                    fs.Write(Encoding.ASCII.GetBytes(str), 0, str.Length);
                }