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 |
|
ArgumentNullException | sourceFileName 或 destFileName 为 null。 |
ArgumentException | sourceFileName 或 destFileName 是零长度字符串、只包含空白或者包含在 InvalidPathChars 中定义的无效字符。 |
UnauthorizedAccessException | 调用方没有所要求的权限。 |
PathTooLongException | 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。 |
DirectoryNotFoundException | sourceFileName 或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。 |
NotSupportedException | sourceFileName 或 destFileName 的格式无效。 |
版本信息
.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 系统要求。