把ANSI格式的TXT文件批量转换成UTF-8文件类型

时间:2023-03-09 10:06:48
把ANSI格式的TXT文件批量转换成UTF-8文件类型

把ANSI格式的TXT文件批量转换成UTF-8文件类型

Posted on 2010-08-05 10:38 moss_tan_jun 阅读(3635) 评论(0) 编辑 收藏

#region 把ANSI格式的TXT文件批量转换成UTF-8文件类型

class FileControl
    {
        private string path = "";
        private DirectoryInfo dirInfo = null;
        private FileInfo[] fileInfo = null;
        private string msg = "";

public string Msg
        {
            get { return msg; }
            set { msg = value; }
        }

public string Path
        {
            get { return path; }
            set { path = value; }
        }

public FileControl()
        {

}
        public FileControl(string path)
        {
            this.dirInfo = new DirectoryInfo(path);
        }

public void getDirInfo(string path)
        {
            this.dirInfo = new DirectoryInfo(path);
        }
        private void getFileInfoArr()
        {
            if (this.dirInfo != null)
            {
                this.fileInfo = this.dirInfo.GetFiles("*.txt", SearchOption.AllDirectories);
            }
            else
            {
                this.msg = "无可转换的txt文件";
            }
        }

public void Transform()
        {

try
            {
                this.getFileInfoArr();
                foreach (FileInfo fi in this.fileInfo)
                {
                    FileStream fs = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read);
                    StreamReader streamReader = new StreamReader(fs);
                    string newFileName = fi.FullName.Split('.')[fi.FullName.Split('.').Length - 2] + "_.txt";
                    File.WriteAllText(newFileName, streamReader.ReadToEnd(), Encoding.UTF8);
                }
                this.msg = "转换完美完成!";
            }
            catch (Exception ex)
            {
                this.msg = "转换发生异常!异常原因:" + ex.Message;
            }
        }

}

#endregion