返回首页
当前位置: 主页 > 编程语言 > C#教程 >

C# 修改文件名的2种方法

时间:2017-03-31 15:21来源:电脑教程学习网 www.etwiki.cn 编辑:admin

在 C# 中,修改文件名主要是通过移动方法(Move(string sourceFileName, string destFileName))实现,该方法有两个参数,分别是:sourceFileName(源文件名)、destFileName(目标文件名),即把“待修改的文件名”移到“目标文件名(修改后的文件名)”。下面两种方法虽然有些不同,但都离不开 Move 方法。

  以下2种方法需要引用的命名空间:using System.Web; 和 using System.IO;

 

  1、方法一:直接用 File 类的 Move 方法实现

  实现过程:先把传递过来的文件相对路径转为绝对路径,如果文件存在,则用 File 类的 Move 方法把待修改文件名移到新文件名;如果不存在或发生异常,则不修改。代码如下:

  /// <summary>
  /// 修改文件名
  /// </summary>
  /// <param name="srcRelativePath">待修改文件相对路径(含文件名)</param>
  /// <param name="desRelativePath">修改后的文件相对路径(含文件名)</param>
  /// <returns>真:修改成功;假:修改失败</returns>

  public bool ChangeFileName(string srcRelativePath, string desRelativePath)
  {
    srcRelativePath = HttpContext.Current.Server.MapPath(srcRelativePath);
    desRelativePath = HttpContext.Current.Server.MapPath(desRelativePath);

    try
    {
      if (File.Exists(srcRelativePath))
      {
         File.Move(srcRelativePath, desRelativePath);
         return true;
      }
      else
        return false;

    }
    catch
    {
      return false;
    }
  }

  调用方法:ChangeFileName("/Shops/test.txt", "/Shops/text.txt");

 

 

  2、创建 File 类的对象,通过此对象调用 Move 方法实现

  实现过程:也是先把传递过来的文件相对路径转为绝对路径,如果文件存在,新创建一个 File 类的对象 fi,然后用 fi 调用 Move 方法把待修改文件名移到新文件名;如果不存在或发生异常,则不修改。代码如下:

  /// <summary>
  /// 修改文件名
  /// </summary>
  /// <param name="srcRelativePath">待修改文件相对路径(含文件名)</param>
  /// <param name="desRelativePath">修改后的文件相对路径(含文件名)</param>
  /// <returns>真:修改成功;假:修改失败</returns>

  public bool ModifyFileName(string srcRelativePath, string desRelativePath)
  {
    srcRelativePath = HttpContext.Current.Server.MapPath(srcRelativePath);
    desRelativePath = HttpContext.Current.Server.MapPath(desRelativePath);

    try
    {
      if (File.Exists(srcRelativePath))
      {
        FileInfo fi = new FileInfo(srcRelativePath);
        fi.MoveTo(desRelativePath);
        return true;
      }
      else
        return false;

    }
    catch
    {
      return false;
    }
  }

  调用方法:ModifyFileName("/Shops/test.txt", "/Shops/text.txt");

 

  以上两种方法均通过 Visual Studio 2010 测试,没有错误,可以正确修改文件名。

------分隔线----------------------------
标签(Tag):c#
------分隔线----------------------------
推荐内容
猜你感兴趣