Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку? - 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д