Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку? - C#
Формулировка задачи:
Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного слова, перезаписать в другой текстовый файл, так чтобы слова были записаны через пробел, а переход на следующий ряд во втором файле, должен соответствовать пустая строка в первом.
У меня в консоле пишет: значение StartIndex не может быть меньше нуля.
Наверное, ошибка в строке
Листинг программы
- string path ="D:\\f1.txt";
- string pathForSecondFile = "D:\\f2.txt";
- FileStream secondFile=new FileStream(pathForSecondFile, FileMode.Create);
- secondFile.Close();
- StreamReader reader = new StreamReader(path);
- StreamWriter writer = new StreamWriter(pathForSecondFile);
- string line;
- while ((line = reader.ReadLine()) != null)
- {
- if (line.Substring(line.Length-1)=="/r/n")
- {
- line.Replace(line.Substring(line.Length - 1), "/r/n");
- writer.WriteLine(line);
- }
- else if (line == "")
- {
- line.Replace(line.Substring(line.Length - 1), " ");
- writer.WriteLine(line);
- }
- else {
- writer.WriteLine(line);
- }
- }
- reader.Close();
- writer.Close();
Листинг программы
- if (line.Substring(line.Length-1)=="/r/n")
Решение задачи: «Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку?»
textual
Листинг программы
- string path ="D:\\f1.txt";
- string pathForSecondFile = "D:\\f2.txt";
- string line = string.Empty;
- using(var secondFile=new FileStream(pathForSecondFile, FileMode.Create))
- using(var reader = new StreamReader(path))
- {
- using(var writer = new StreamWriter(pathForSecondFile))
- {
- while ((line = reader.ReadLine()) != null)
- {
- if (line == string.Empty)
- {
- line = Environment.NewLine;
- }
- else
- {
- line.Replace(Environment.NewLine, " ");
- }
- writer.WriteLine(line);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д