Небольшое замешательство в выборе класса: FileInfo или StreamWriter - C#

Узнай цену своей работы

Формулировка задачи:

Я так подозреваю - потоки хорошо использовать в циклах, но для этих же целей вместе с File создали FileInfo - его экземпляр тоже можно использовать в цикле. Часто вижу, что файл открывают методом File (а не StreamReader, например), а затем создают поток для работы с файлом в цикле. Но почему не быть последовательным и не использовать объект файлинфо? Методы файл и файлинфо удобны, они закрывают файлы, насколько я понимаю. (или как раз поэтому лучше использовать StreamWriter?)
var file = File.OpenRead(path);
                double[] buffer = new double[file.Length];
                DataReader reader = new DataReader(path);
                buffer = reader.readAmplitudeValues(true);
 
                string tempName = _path.Replace(".wav", ".txt");
                _txtResearchName = tempName;
 
using (var wr = new StreamWriter(tempName))
                {
                    foreach (double val in buffer)
                    {
                        wr.Write(val.ToString());
                        wr.Write(" ");
                    }
                }
Или зачем было создавать поток в этом примере из учебника (правда, иллюстрирующем работу finally)
static void ReadFile()
{
StreamReader reader = null; // B пространстве имен System.IO
try
{
reader = File.OpenText ("file.txt");
if (reader.EndOfStream) return;
Console.WriteLine (reader.ReadToEnd());
}
finally
{
if (reader != null) reader.Dispose();
}
}
Открыл студию и понемногу проясняется вроде - если нужно считать какие-то конкретные данные, то легко использовать методы File, но для смешанных типов данных, конечно нужен будет поток, например, StreamReader или что-то в этом роде

Решение задачи: «Небольшое замешательство в выборе класса: FileInfo или StreamWriter»

textual
Листинг программы
using (var streamReader = File.OpenText(filePath))
...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы