Попытка записи элементов списка в текстовый файл, но файл оказывается пустым - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть класс TestLogEntry, метод которого ToString(), который я переопределил следующим образом:

   class TestLogEntry
    {
        public int counter;
        public string filename;
        public long id;
        public int featureCount_existing;
        public string fromPath;
        public int featureCount;
        public bool isCheckedOut;
        public bool modifiedByThisUser;
        public bool canUpdate;

        public string ToString()
        {
            return String.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8}", counter, filename, id, featureCount_existing, fromPath, featureCount, isCheckedOut, modifiedByThisUser, canUpdate);
        }
    }

У меня есть List<TestLogEntry> экземпляр testLog, который я пытаюсь прочитать втекстовый файл:

    using (FileStream fs = File.Open(@"C:\Logs\TestLog\testLog.csv",FileMode.Create))
    {
        StreamWriter sw = new StreamWriter(fs);
        testLog.ForEach(r => sw.WriteLine(r.ToString()));
    }

testLog явно содержит данные, когда я проверяю их в точке останова в операторе ForEach, но после этого файл остается пустым.Как мне записать содержимое списка в файл?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Я думаю, вам нужно закрыть StreamWriter в конце.Можете ли вы попробовать добавить sw.Close ();после оператора foreach.

0 голосов
/ 25 февраля 2019

Добавить sw.Close()

    using (FileStream fs = File.Open(@"C:\Logs\TestLog\testLog.csv",FileMode.Create))
    {
        StreamWriter sw = new StreamWriter(fs);
        testLog.ForEach(r => sw.WriteLine(r.ToString()));
        sw.Close();
    }
...