Я искал высоко и низко в течение нескольких дней, чтобы увидеть, чтобы прочитать каталог, а затем отредактировать текстовый файл, основанный на именах файлов в каталоге, причем каждое имя файла заменяет текст на другой строке , Я придумал код ниже, но проблема в том, что он меняет текст на всех строках на первое имя файла.Как перейти к следующему файлу
DirectoryInfo dinfo1 = new DirectoryInfo(path);
FileInfo[] Files1 = dinfo1.GetFiles("*.*");
string text = File.ReadAllText("path/text.txt");
foreach (FileInfo file in Files1)
{
text = text.Replace("oldtext1", "path" + file.Name);
text = text.Replace("oldtext2", "path" + file.Name);
text = text.Replace("oldtext3", "path" + file.Name);
}
File.WriteAllText("path/text.txt", text);
Примечания: У меня есть 100 файлов в папке и хочу, чтобы добавить все 100 файлов в текст в первом в последний порядок или алфавитный порядок, как будут добавлены новые файлы, и я хочу, чтобы сохранить порядок.
Является ли ваш 'путь' концом'/'? и что означает ваш «старый текст»? –
Посмотрите на метод [Path.Combine] (https://msdn.microsoft.com/en-us/library/system.io.path.combine (v = vs.110) .aspx), чтобы комбинировать пути, а не чем использование конкатенации строк. Он автоматически обрабатывает проблемы, такие как трейлинг-косые черты и т. П. –
Мой конец pah с /, но путь не является проблемой, потому что он выполняется. Oldtext означает текст в файле, который я хочу изменить на имя файла. –