System.IO.File.Move 方法

方法描述

将指定文件移到新位置,并提供指定新文件名的选项。

语法定义(C# System.IO.File.Move 方法 的用法)

public static void Move(
	string sourceFileName,
	string destFileName
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
sourceFileName System-String 要移动的文件的名称。
destFileName System-String 文件的新路径。
返回值 void

提示和注释

此方法对整个磁盘卷工作;并且如果源和目标相同,它不会引发异常。 请注意,如果尝试通过将一个同名文件移到该目录中来替换文件,将发生 IOException。 不能使用 Move 方法覆盖现有文件。

允许 sourceFileName 和 destFileName 参数指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,请参见 GetCurrentDirectory。

有关通用 I/O 任务的列表,请参见通用 I/O 任务。

System.IO.File.Move 方法例子

下面的示例移动一个文件。

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        string path2 = @"c:\temp2\MyTest.txt";
        try 
        {
            if (!File.Exists(path)) 
            {
                // This statement ensures that the file is created,
                // but the handle is not kept.
                using (FileStream fs = File.Create(path)) {}
            }

            // Ensure that the target does not exist.
            if (File.Exists(path2))	
            File.Delete(path2);

            // Move the file.
            File.Move(path, path2);
            Console.WriteLine("{0} was moved to {1}.", path, path2);

            // See if the original exists now.
            if (File.Exists(path)) 
            {
                Console.WriteLine("The original file still exists, which is unexpected.");
            } 
            else 
            {
                Console.WriteLine("The original file no longer exists, which is expected.");
            }			

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

异常

异常 异常描述
IOException
  • 目标文件已经存在。
  • 未找到 sourceFileName。
ArgumentNullException sourceFileName 或 destFileName 为 null。
ArgumentException sourceFileName 或 destFileName 是零长度字符串、只包含空白或者包含在 InvalidPathChars 中定义的无效字符。
UnauthorizedAccessException 调用方没有所要求的权限。
PathTooLongException 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
DirectoryNotFoundException sourceFileName 或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。
NotSupportedException sourceFileName 或 destFileName 的格式无效。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。