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

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

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

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

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

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

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы