我如何重命名一个文件使用c# ?


当前回答

System.IO.File.Move(oldNameFullPath, newNameFullPath);

其他回答

看一下System.IO.File。移动,“移动”文件到一个新名称。

System.IO.File.Move("oldfilename", "newfilename");

我找不到适合我的方法,所以我提出了我的版本。当然,它需要输入和错误处理。

public void Rename(string filePath, string newFileName)
{
    var newFilePath = Path.Combine(Path.GetDirectoryName(filePath), newFileName + Path.GetExtension(filePath));
    System.IO.File.Move(filePath, newFilePath);
}
System.IO.File.Move(oldNameFullPath, newNameFullPath);

在文件中。方法,这将不会覆盖文件,如果它已经存在。它会抛出一个异常。

所以我们需要检查文件是否存在。

/* Delete the file if exists, else no exception thrown. */

File.Delete(newFileName); // Delete the existing file if exists
File.Move(oldFileName,newFileName); // Rename the oldFileName into newFileName

或者用try catch将其包围以避免异常。

添加:

namespace System.IO
{
    public static class ExtendedMethod
    {
        public static void Rename(this FileInfo fileInfo, string newName)
        {
            fileInfo.MoveTo(fileInfo.Directory.FullName + "\\" + newName);
        }
    }
}

然后……

FileInfo file = new FileInfo("c:\test.txt");
file.Rename("test2.txt");