无法将数据附加到文件

时间:2011-11-12 23:19:48

标签: windows-phone-7

我想创建一个文件,保存数据然后向它添加一些信息(例如,下次启动应用程序时)。我正在使用此代码:

       IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
       using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Append, FileAccess.Write, myStore))
       {
            //Write the data
            using (var isoFileWriter = new StreamWriter(isoFileStream))
            {
                isoFileWriter.WriteLine(m.Author + "|" + m.Receiver + "|" + m.Text + "|" + m.Date + "\r\n");
            }
       }

但它不起作用:/只保存了第一行 - 我想要添加到创建文件的任何内容都无处可去o_O我也试过这种方法:

            using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Open, myStore))
            {
                // Read the data.
                using (var isoFileReader = new StreamReader(isoFileStream))
                {
                    data = isoFileReader.ReadLine();
                }
            }

验证文件我使用了另一个类和IsoStoreSpy应用程序。 请帮忙。

1 个答案:

答案 0 :(得分:2)

使用您的代码,附加工作正常。但是要读取所有行,你必须迭代它们,否则你只读第一行:

while (!isoFileReader.EndOfStream)
{
    string line = isoFileReader.ReadLine();
    System.Diagnostics.Debug.WriteLine(line);
}

经过测试和工作。在编写一行时,您不需要附加新行(“\ r \ n”)。 WriteLine会为你做这件事。