private void rfsStorageFiles(byte[] filesStream)
        {          
            try
            {
                using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    StreamWriter writer = new StreamWriter(new IsolatedStorageFileStream("myFile222.db", FileMode.Append, store));
                    writer.Write(filesStream);
                    writer.Close();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message.ToString());
            }
        }本意是, 将一个字节数组内容,写入一个文件里,但是现在,发现没有写进去呀
怎么才能写进去呢? 自己数组内容是 16进制的, 如 0x53,0x51....

解决方案 »

  1.   

    汗,丢人了。是
    writer.Flush();
      

  2.   


    //写信息
            public static void writewatchGoods(string SqlMessage, string fileName)
            {
                //fileName = "GoodsInfo.txt";
                if (!File.Exists(fileName))
                {
                    StreamWriter w = File.AppendText(fileName);
                    w.WriteLine(SqlMessage);
                    w.Flush();
                    w.Close();
                }
                else
                {
                    StreamWriter w1 = File.AppendText(fileName);
                    w1.WriteLine("\r\n" + SqlMessage);
                    w1.Flush();
                    w1.Close();
                }
            }
      

  3.   

    StreamWriter没有写入byte[]的重载方法,这样可能是写入的
    writer.Write(filesStream.ToString());写入byte[]应该使用FileStream,在这里IsolatedStorageFileStream扩展 FileStream,所以可以直接使用
    IsolatedStorageFileStream.Write(byte[] buffer,int offset,int count)
    这个重载
      

  4.   


    writer.Write(filesStream);
    StreamWriter没有对byte[] 参数进行重载,自动选择了object类型写入。可以这么写writer.Write(Encoding.[你的byte[]来源所使用的编码格式].GetString(filesStream));
    //或者
    //BitConverter.ToString(filesStream,0,fileStream.Length); 这个效果不知道……可以试试
      

  5.   

    我传进来的数据是这样的格式   0x0D 0x00 0x00 0x00 0x12 0x00 0x46 0x00 0x03 0xCB 0x03 0x96 0x03 0x61 我想写入文件的内容也是上面的格式
      
      比如 读bin文件,,,内容肯定都是上面的那样格式  再写入的话,应该和上面格式一样,否则,Bin 文件内容就错了
      

  6.   

    IsolatedStorageFileStream.Write(byte[] buffer,int offset,int count)
     怎么加到我正文的  函数里呢? 试了下,不知道加哪里去
     见笑了
      

  7.   

    因为看到你传入的是一个字节数组,我就当你是想写入字节
    0xCB这些应该是使用一些编辑器打开的时候显示成16进制的吧。StreamWriter writer = new StreamWriter(new IsolatedStorageFileStream("myFile222.db", FileMode.Append, store));
    这句去掉,改成
    IsolatedStorageFileStream writer = store.Open("myFile222.db",FileMode.Append,FileAccess.Write);
    最好再此之前检查一下文件是否存在,不存在就store.CreateFile("myFile222.db"),这个方法也会返回一个IsolatedStorageFileStream。
      

  8.   

    IsolatedStorageFileStream.Write(byte[] buffer,int offset,int count) 这个 IsolatedStorageFileStream 打完  点后,,就三个属性或方法,,没有  write()这个呀
      

  9.   

    呃……好吧,我按照你的原始代码,完整的写一遍吧
        private void rfsStorageFiles(byte[] filesStream)
        {
            try
            {
                using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    IsolatedStorageFileStream writer = null;
                    string FileName="myFile222.db";
                    if (store.FileExists(FileName))
                        writer = store.Open(FileName, FileMode.Append, FileAccess.Write);
                    else
                        writer = store.CreateFile(FileName);
                    writer.Write(filesStream, 0, filesStream.Length);
                    writer.Close();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message.ToString());
            }
        }
      

  10.   

    谢谢你 刚才找不到是因为这个原因 store.Open(FileName, FileMode.Append, FileAccess.Write); 改成这样就OK 
     store.OpenFile("myFile222.db", FileMode.Append, FileAccess.Write); 再次感谢