Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку? - C#

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

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

Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного слова, перезаписать в другой текстовый файл, так чтобы слова были записаны через пробел, а переход на следующий ряд во втором файле, должен соответствовать пустая строка в первом.
Листинг программы
  1. string path ="D:\\f1.txt";
  2. string pathForSecondFile = "D:\\f2.txt";
  3. FileStream secondFile=new FileStream(pathForSecondFile, FileMode.Create);
  4. secondFile.Close();
  5. StreamReader reader = new StreamReader(path);
  6. StreamWriter writer = new StreamWriter(pathForSecondFile);
  7. string line;
  8. while ((line = reader.ReadLine()) != null)
  9. {
  10. if (line.Substring(line.Length-1)=="/r/n")
  11. {
  12. line.Replace(line.Substring(line.Length - 1), "/r/n");
  13. writer.WriteLine(line);
  14. }
  15. else if (line == "")
  16. {
  17. line.Replace(line.Substring(line.Length - 1), " ");
  18. writer.WriteLine(line);
  19. }
  20. else {
  21. writer.WriteLine(line);
  22. }
  23. }
  24. reader.Close();
  25. writer.Close();
У меня в консоле пишет: значение StartIndex не может быть меньше нуля. Наверное, ошибка в строке
Листинг программы
  1. if (line.Substring(line.Length-1)=="/r/n")

Решение задачи: «Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку?»

textual
Листинг программы
  1.             string path ="D:\\f1.txt";
  2.             string pathForSecondFile = "D:\\f2.txt";
  3.             string line = string.Empty;
  4.             using(var secondFile=new FileStream(pathForSecondFile, FileMode.Create))
  5.             using(var reader = new StreamReader(path))
  6.             {
  7.                 using(var writer = new StreamWriter(pathForSecondFile))
  8.                 {
  9.                     while ((line = reader.ReadLine()) != null)
  10.                     {
  11.                         if (line == string.Empty)
  12.                         {
  13.                             line = Environment.NewLine;
  14.                             }
  15.                             else
  16.                             {
  17.                         line.Replace(Environment.NewLine, " ");
  18.                         }
  19.                         writer.WriteLine(line);  
  20.                     }
  21.                 }
  22.             }

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


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

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

14   голосов , оценка 4 из 5

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

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

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