Loop all files in a folder (edit)
Duyệt tất cả các files với điều kiện lọc là các files có đuôi là *.cs, *.cshtml, *.html
http://www.beansoftware.com/ASP.NET-FAQ/Multiple-Filters-Directory.GetFiles-Method.aspx
https://stackoverflow.com/questions/3527203/getfiles-with-multiple-extensions/7097562
public static class DirectoryInfoExt { public static IEnumerable GetFilesByExtensions(this DirectoryInfo dir, params string[] extensions) { if (extensions == null) throw new ArgumentNullException("extensions"); IEnumerable files = dir.EnumerateFiles("*.*", SearchOption.AllDirectories); return files.Where(f => extensions.Contains(f.Extension)); } } class Program { /// /// Read more: http://manhng.com/blog/ma-hoa-du-lieu/ /// /// private static void Main(string[] args) { //https://stackoverflow.com/questions/5750203/how-to-write-unicode-characters-to-the-console System.Console.OutputEncoding = System.Text.Encoding.Unicode; //MaHoaBatDoiXung(); //EncodeDecodeHTMLUsingSystemNetWebUtility(); //EncodeDecodeHTMLUsingSystemWebHttpUtility(); //EncodeDecodeCharacter(); //SaveAllFilesUTF8(); SaveAllFilesEncodingUTF8(); } /// /// Returns file names from given folder that comply to given filters /// ///Folder with files to retrieve ///Multiple file filters separated by | character ///File.IO.SearchOption, /// could be AllDirectories or TopDirectoryOnly /// Array of FileInfo objects that presents collection of file names that /// meet given filter public static string[] getFiles(string SourceFolder, string Filter, System.IO.SearchOption searchOption) { // ArrayList will hold all file names ArrayList alFiles = new ArrayList(); // Create an array of filter string string[] MultipleFilters = Filter.Split('|'); // for each filter find mathing file names foreach (string FileFilter in MultipleFilters) { // add found file names to array list alFiles.AddRange(Directory.GetFiles(SourceFolder, FileFilter, searchOption)); } // returns string array of relevant file names return (string[])alFiles.ToArray(typeof(string)); } private static void SaveAllFilesEncodingUTF8() { var folderPath = @"D:\Prj\VASJ.BI\VASJ.BI\VASJ.BI"; var di = new DirectoryInfo(folderPath); string[] sFiles = getFiles(folderPath, "*.cs|*.cshtml|*.html", SearchOption.AllDirectories); foreach (var sFile in sFiles) { var f = new FileInfo(sFile); string s = File.ReadAllText(f.FullName); File.WriteAllText(f.FullName, s, Encoding.UTF8); } } private static void SaveAllFilesUTF8() { var di = new DirectoryInfo(@"D:\Prj\VASJ.BI\VASJ.BI\VASJ.BI"); foreach (var f in di.GetFilesByExtensions(new string[] { ".cs", ".cshtml", ".html" })) { string s = File.ReadAllText(f.FullName); File.WriteAllText(f.FullName, s, Encoding.UTF8); } } }