关键语句:
str = Microsoft.VisualBasic.Strings.StrConv(str,Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, 0);
如果是简体转繁体,就要写成:
str = Microsoft.VisualBasic.Strings.StrConv(str,Microsoft.VisualBasic.VbStrConv.TraditionalChinese, 0);
上面这两句话需要添加引用才能执行:右键项目→添加→引用:程序集→框架→Microsoft.VisualBasic
下面是完整代码,checkFiles是遍历文件夹下所有文件,checkFile是将文件繁体转简体:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace 简体繁体转化
{
class Program
{
static void Main(string[] args)
{
checkFiles(new DirectoryInfo("D:/繁体转简体"));
say("Completed!");
}
static void checkFiles(FileSystemInfo info)
{
if (!info.Exists)
{
say("文件夹不存在!");
return;
}
DirectoryInfo dir = info as DirectoryInfo;
if (dir == null)
{
say("所选目标不是文件夹!");
return;
}
FileSystemInfo[] files = dir.GetFileSystemInfos();
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
if (file != null)
checkFile(file.FullName);
else
checkFiles(files[i]);
}
}
static void checkFile(String filePath)
{
String str = System.IO.File.ReadAllText(filePath, Encoding.Default);
str = Microsoft.VisualBasic.Strings.StrConv(str,Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, 0);
StreamWriter sw = new StreamWriter(filePath);
sw.Write(str);
sw.Flush();
sw.Close();
}
static void say(String whatToSay)
{
System.Console.Write(whatToSay);
System.Console.ReadKey();
}
}
}