自动将指定目录下面的文件转换为UTF-8

本文介绍了一个使用C#编写的简单程序,该程序能够批量将指定目录下的文件从默认编码转换为UTF-8编码。用户可以自定义文件过滤条件,并在确认待转换文件列表后执行转换操作。
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace save2Utf8
{
    class Program
    {
        static void Main(string[] args)
        {
            string dir, filters;
            //Console.WriteLine("Please input the directory:");
            //dir = Console.ReadLine();
            dir = @"D:\working\code\trunk\src\OAWeb\OAProject.Admin";
            Console.WriteLine("要转换的路径为:" + dir);
            Console.WriteLine("Please input the filter(such as *.c,*.cpp):");
            filters = Console.ReadLine();
            Console.WriteLine("The following files will be converted:");
            List<string> destfiles = new List<string>();
            foreach (string filter in filters.Split(','))
            {
                foreach (var eachfileinfo in new DirectoryInfo(dir).GetFiles(filter, SearchOption.AllDirectories))
                {
                    destfiles.Add(eachfileinfo.FullName);
                    Console.WriteLine(eachfileinfo.FullName);
                }
            }
            Console.WriteLine("You Sure? (y or n)");
            string ans = Console.ReadLine();
            if (ans.Equals("y", StringComparison.OrdinalIgnoreCase))
            {
                foreach (string destfile in destfiles)
                {
                    File.WriteAllText(destfile, File.ReadAllText(destfile, Encoding.Default), Encoding.UTF8);
                }
                Console.WriteLine("finished.");
            }
            else
            {
                Console.WriteLine("Nothing changed.");
            }
            Console.WriteLine("Press any key to exit.");
            Console.ReadLine();
        }
    }
}

  

转载于:https://www.cnblogs.com/luchaoshuai/p/4813892.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值