在阅读了关于如何"重命名"文件的stackoverflow帖子后,解决方案结果是使用Files.Move或Directory.Move方法.
我知道在Windows中,如果我重命名它是瞬间的,因为我认为它不是移动驱动器上的文件,因为它正在改变某些索引的位置.
当我使用Files.Move或Directory.Move它会做同样的事情,还是要做一个复制,然后删除?
我试图避免我的驱动器磨损.
在 .NET Framework 的 Windows 实现中,System.IO.File.Move调用底层 Win32 函数MoveFile。
关于 MoveFile 的 MSDN:
移动现有文件或目录,包括其子文件。
它似乎与 Windows 资源管理器调用的函数相同。所以是的,它做同样的事情,只是重命名而不是复制/删除。
public static void Move(String sourceFileName, String destFileName) {
...
...
if (!Win32Native.MoveFile(fullSourceFileName, fullDestFileName))
{
__Error.WinIOError();
}
}
Run Code Online (Sandbox Code Playgroud)