- 精华
- 阅读权限
- 80
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2009-8-13
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
发表于 2014-12-22 20:51:17
|
显示全部楼层
不下也回复,感谢!另外,附繁简转换的代码,我自己写的
- using System;
- using System.Collections.Generic;
- using System.Text;
- //添加 Microsoft Visual Basic.NET Runtime 引用。
- using Microsoft.VisualBasic;
- using System.IO;
- using System.Collections.Specialized;
- using System.Windows.Forms;
- using System.Diagnostics;
- using System.Linq;
- using System.IO;
- namespace 繁简转换
- {
- class exChangeChinese
- {
- public static void chg()
- {
- FolderBrowserDialog dlg = new FolderBrowserDialog();
- if (dlg.ShowDialog() != DialogResult.OK) return;
- string parentDir = dlg.SelectedPath;
- StringCollection filter = new StringCollection();
- filter.Add(".properties");
- filter.Add("*.sql");
- filter.Add("*.js");
- filter.Add("*.java");
- filter.Add(".xml");
- filter.Add(".bat");
- filter.Add(".txt");
- //*.properties|*.sql|*.js|*.java|*.bat|*.txt
- StringCollection files = new StringCollection();
- foreach(var q in filter)
- {
- if(q != null) files.AddRange(Directory.GetFiles(parentDir, q , SearchOption.AllDirectories));
- }
- foreach(var q in files)
- {
- ToSimplifiedChinese(q, q);
- Debug.WriteLine("文件编码" +q);
- }
- MessageBox.Show("完成");
- }
- /// <summary>
- /// 作为遍历文件函数的子函数
- /// </summary>
- /// <param name="parentDir">目录名称</param>
- /// <param name="result">该目录下的所有文件</param>
- public static void GetAllFiles(string parentDir, StringCollection result)
- {
- //获取目录parentDir下的所有的子文件夹
- //string[] dir = Directory.GetDirectories(parentDir);
- //for (int i = 0; i < dir.Length; i++)
- // GetAllFiles(dir[i], result);
- //获取目录parentDir下的所有的文件,并过滤得到所有的文本文件
- string[] file = Directory.GetFiles(parentDir, ".txt");
- for (int i = 0; i < file.Length; i++)
- {
- //FileInfo fi = new FileInfo(file[i]);
- //if (fi.Extension.ToLower() == "txt")
- //{
- result.Add(file[i]);
- //}
- }
- }
- /// <summary>
- /// 将字符串转换为简体中文
- /// </summary>
- public static string ToSimplifiedChinese(string s)
- {
-
- return Strings.StrConv(s, VbStrConv.SimplifiedChinese, 0);
- }
- /// <summary>
- /// 将字符串转换为繁体中文
- /// </summary>
- public static string ToTraditionalChinese(string s)
- {
- return Strings.StrConv(s, VbStrConv.TraditionalChinese, 0);
- }
- /// <summary>
- /// 将文件转换为简体中文
- /// </summary>
- /// <param name="filename">源文件名</param>
- /// <param name="outFilename">目标文件名</param>
- public static void ToSimplifiedChinese(string filename, string outFilename)
- {
- //StreamReader r = new StreamReader(filename, Encoding.GetEncoding("gb2312"));
- StreamReader r = new StreamReader(filename);
- string s = r.ReadToEnd();
- r.Close();
- StreamWriter w = new StreamWriter(outFilename, false, Encoding.GetEncoding("gb2312"));
-
- try
- {
- w.Write(Strings.StrConv(s, VbStrConv.SimplifiedChinese, 0));
- w.Flush();
- }
- finally
- {
- w.Close();
-
- }
- }
- /// <summary>
- /// 将文件转换为繁体中文
- /// </summary>
- /// <param name="filename">源文件名</param>
- /// <param name="outFilename">目标文件名</param>
- public static void ToTraditionalChinese(string filename, string outFilename)
- {
- StreamReader r = new StreamReader(filename, Encoding.GetEncoding("gb2312"));
- StreamWriter w = new StreamWriter(outFilename, false, Encoding.GetEncoding("gb2312"));
- try
- {
- w.Write(Strings.StrConv(r.ReadToEnd(), VbStrConv.TraditionalChinese, 0));
- w.Flush();
- }
- finally
- {
- w.Close();
- r.Close();
- }
- }
- }
- }
复制代码 |
|