【发布时间】:2012-01-30 04:41:43
【问题描述】:
我想在使用 c# 时重命名大文件。 如果我有几个大文件并且使用 .IO.move 函数 我的文件将以正确的名称复制,旧的文件将被销毁。 对于大文件,这将需要很长时间
我找不到好的解决方案。 谁有适合大文件的想法?
【问题讨论】:
-
如果从一个卷移动到另一个卷,就是复制+删除,在所难免。
我想在使用 c# 时重命名大文件。 如果我有几个大文件并且使用 .IO.move 函数 我的文件将以正确的名称复制,旧的文件将被销毁。 对于大文件,这将需要很长时间
我找不到好的解决方案。 谁有适合大文件的想法?
【问题讨论】:
无论您选择何种解决方案 - 如果您在不同的逻辑/物理磁盘之间移动文件 - 您将无法对其进行任何操作。移动数据需要一些时间。
【讨论】:
您是否测试过您的假设?我做到了,我发现如果您使用System.IO.File.Move,并且目标位置与源位于同一物理逻辑磁盘上,则文件只是被重命名。不需要很长时间。
【讨论】:
你可以create a new hardlink,然后删除原来的。这只会影响文件系统元数据,不会复制文件。
【讨论】: