C#中使用MoveTo和Path.ChangeExtension方法实现文件更改后缀名

场景

在将数据导出为CSV文件时,需要在导出成功后将CSV文件的后缀名更改为xls。

现在是已经知道每个csv文件的绝对路径,即包含文件扩展名的路径,现在要更改文件的后缀名。

注:

博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

假如这里是多个文件,只需要循环这个文件路径的list,依次对每个文件进行更改扩展名。

foreach (string path in Global.Instance.CsvToExcelReNameList)
   {
       FileInfo file = new FileInfo(path);
       file.MoveTo(Path.ChangeExtension(file.FullName, "xls"));
    }

注意这里的Path的ChangeExtension方法的第二个参数不用加点

此方法的注解如下:

        // 摘要: 
        //     更改路径字符串的扩展名。
        //
        // 参数: 
        //   path:
        //     要修改的路径信息。该路径不能包含在 System.IO.Path.GetInvalidPathChars() 中定义的任何字符。
        //
        //   extension:
        //     新的扩展名(有或没有前导句点)。指定 null 以从 path 移除现有扩展名。
        //
        // 返回结果: 
        //     包含修改的路径信息的字符串。在基于 Windows 的桌面平台上,如果 path 是 null 或空字符串 (""),则返回的路径信息是未修改的。如果
        //     extension 是 null,则返回的字符串包含指定的路径,其扩展名已移除。如果 path 不具有扩展名,并且 extension 不是 null,则返回的路径字符串包含
        //     extension,它追加到 path 的结尾。
        //
        // 异常: 
        //   System.ArgumentException:
        //     path 包含 System.IO.Path.GetInvalidPathChars() 中已定义的一个或多个无效字符。
        public static string ChangeExtension(string path, string extension);
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12972688.html