C # или VB.NET: Как программно изменить формат кодирования UTF-8 всех текстовых файлов в данном каталоге? - PullRequest
0 голосов
/ 08 февраля 2011

Я пытаюсь перебрать каталог и для любого найденного текстового файла преобразовать кодировку в формат UTF-8 Fromat.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2012

Быстро и просто

For Each oFile In IO.Directory.GetFiles(dir, "*.*", IO.SearchOption.AllDirectories)
    IO.File.WriteAllText(oFile, IO.File.ReadAllText(oFile), Encoding.UTF8)
Next
2 голосов
/ 08 февраля 2011

Используйте 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());
}

Наслаждайтесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...