【问题标题】:Rename large file重命名大文件
【发布时间】:2012-01-30 04:41:43
【问题描述】:

我想在使用 c# 时重命名大文件。 如果我有几个大文件并且使用 .IO.move 函数 我的文件将以正确的名称复制,旧的文件将被销毁。 对于大文件,这将需要很长时间

我找不到好的解决方案。 谁有适合大文件的想法?

【问题讨论】:

  • 如果从一个卷移动到另一个卷,就是复制+删除,在所难免。

标签: c# rename


【解决方案1】:

无论您选择何种解决方案 - 如果您在不同的逻辑/物理磁盘之间移动文件 - 您将无法对其进行任何操作。移动数据需要一些时间。

【讨论】:

  • 也许我有点不清楚,我想重命名一个文件,但我不想对文件做一些耗时的事情,比如使用 .io.move(oldname,新名称)方法
  • 因为该方法会移动和删除内容,在这种情况下需要处理几千兆字节,速度并不快
  • @ComputerIntelligentAgent:只要您在不同磁盘之间移动文件 - 读取和写入所有文件字节总是需要时间
【解决方案2】:

您是否测试过您的假设?我做到了,我发现如果您使用System.IO.File.Move,并且目标位置与源位于同一物理逻辑磁盘上,则文件只是被重命名。不需要很长时间。

【讨论】:

    【解决方案3】:

    你可以create a new hardlink,然后删除原来的。这只会影响文件系统元数据,不会复制文件。

    【讨论】:

      猜你喜欢
      • 2015-09-28
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 2011-01-04
      • 2014-09-09
      • 1970-01-01
      相关资源
      最近更新 更多