C # запись в файл вопроса - PullRequest
       2

C # запись в файл вопроса

2 голосов
/ 10 февраля 2011

Я пытаюсь загрузить некоторые вещи из текстового файла, выполнить некоторую обработку и записать их в новый текстовый файл на C #.

Пожалуйста, посмотрите на мой код ниже:

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

Есть идеи?

Заранее спасибо

        StreamReader SR;
        StreamWriter SW;
        string S;
        double temp1;
        double temp2;

        SR = File.OpenText("C:\...Address");
        SW = File.CreateText("C:\...Address");            

        S = SR.ReadLine();

        while (S!=null)
        {

            string[] words = S.Split(' ');

            //editing stuff

            SW.WriteLine("{0} {1} {2}", temp1, temp2, words[2]);
            Console.WriteLine("{0} {1} {2}", temp1, temp2, words[2]);
            S= SR.ReadLine();
        }

1 Ответ

4 голосов
/ 10 февраля 2011

Две возможные проблемы:

  • Не ясно, задействован ли один файл или два.Вам будет сложно читать из того же файла, в который вы пишете
  • . Вы не закрываете устройство записи, а это значит, что он не будет сброшен.Это может быть проблемой - это, безусловно, объяснит симптомы.

Вторая пуля лучше всего обрабатывается с помощью using заявления:

using (TextWriter writer = File.CreateText(...))
{
    // Code here
} // writer will automatically be disposed here

Вы должны сделать то жевещь для читателя, а также.Это менее важно с точки зрения потери данных, но, как правило, вы должны располагать всем, что реализует IDisposable, как правило, чтобы разрешить очистку ресурсов детерминистически.

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