Используйте DirectoryInfo , и вы в значительной степени сделали
DirectoryInfo DI = new DirectoryInfo("TextFiles_Path");
FileInfo[] Files = DI.GetFiles("*.txt");
foreach(FileInfo Fl in Files)
{
StreamReader SR = Fl.OpenText(); //This opens a stream to the file **in UTF8 encoding**
StreamWriter SW = new StreamWriter(new FileStream(Fl.FullName + ".UTF8.txt", FileMode.OpenOrCreate), Encoding.UTF8);
SW.Write(SR.ReadToEnd());
}
Наслаждайтесь