如何更改所有文本文件中每个字符串中的文本c#

时间:2015-12-06 14:56:25

标签: c#

我的代码应该直接用给定的所有文本文件中的单词“word”替换单词“simple”,但我不知道要纠正什么才能让代码工作。

static void Main(string[] args)
        {
            // Например, получаем все файлы определённого типа в заданной директории.
            string[] fileList = Directory.GetFiles(@"C:/Users/Users/Desktop/a/","*.txt");
            foreach (var filePath in fileList) // Для каждого пути файла...
            {
                for (int i = 0; i < filePath.Length; i++)
                {
                    var lines = File.ReadAllText(filePath);
                    lines = lines.Replace("simple", "word");
                    File.WriteAllText(filePath, lines);
                }
            }
        }

2 个答案:

答案 0 :(得分:1)

我想你的代码因为行

而需要一段时间
for (int i = 0; i < filePath.Length; i++)

使每个文件中的每个字符都出现代码。只需将其删除就可以了。

static void Main(string[] args)
{

    string[] fileList = Directory.GetFiles(@"C:/Users/Users/Desktop/a/","*.txt");
    foreach (var filePath in fileList) // Для каждого пути файла...
    {
        var lines = File.ReadAllText(filePath);
        lines = lines.Replace("simple", "word");
        File.WriteAllText(filePath, lines);
    }
}

答案 1 :(得分:0)

你的双循环读取&#34;对于每个文件,在文件的路径名中为每个字符做一些事情&#34;

我非常怀疑这是你想要的,因为你不能在任何地方使用i变量