主页 > 软件教程

C#修改文件名的2种方法及源代码

软件教程 2024-01-20

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

C# 修改文件名的2种方法
以下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 测试,没有错误,可以正确修改文件名。


标签: C#修改文件名

电脑软硬件教程网 Copyright © 2016-2030 www.computer26.com. Some Rights Reserved.