0

次のコード スニペットを c# で使用しています。このコードでは、ファイルを並列に読み取り、読み取り後に一部のテキストを置き換えてから、別の場所に書き戻しています。例外は発生していませんが、ファイルは別の場所に書き込まれません

class Program
{
    private static readonly object _loc = new object();
    public static string FileRead(string fileName)
    {
        string pattern = @"the";
        var result = File.ReadAllText(fileName);
        var replacedText = Regex.Replace(result, pattern, "XXXX");
        var path = Path.Combine(@"D:\Demo2", fileName);
        using (StreamWriter sw = new StreamWriter(path, false))
            sw.Write(replacedText);
        return replacedText;
    }
    static void Main(string[] args)
    {
        var files = Directory.GetFiles(@"D:\Demo", "*.txt");
        Parallel.ForEach(files, x =>
        {
            Console.WriteLine("FileName={0}\tNOC={1}",x, FileRead(x).Length);
        });
        Console.ReadLine();
    }
}
4

3 に答える 3