Невозможно добавить данные в файл - PullRequest
0 голосов
/ 13 ноября 2011

Я хочу создать файл, сохранить данные, а затем добавить к нему некоторую информацию (например, при следующем запуске приложения).Я использую этот код:

       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 Ответ

2 голосов
/ 13 ноября 2011

Приложение работает нормально, используя ваш код. Но для чтения всех строк вам нужно их итерировать, иначе вы читаете только первую строку:

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

Проверено и работает. И вам не нужно добавлять новую строку ("\ r \ n") при написании строки. WriteLine сделает это за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...