【问题标题】:Moving files and create directory at same time同时移动文件和创建目录
【发布时间】:2012-01-01 19:48:25
【问题描述】:

我正在生成一些文件(简化版)

private static void GenFiles(int numbersToGenerate, string directory)
{
    for (int i = 1; i <= numbersToGenerate; i++)
    {
        string fileName = Path.Combine(directory, "File" + i);
        File.Create(fileName);
    }
}

现在我被告知“生成 100 个文件并创建 10 个文件夹(Folder1-Folder2-Folder3 等)在每个文件夹中放置 10 个项目”

你会在一个目录中创建所有文件,然后创建每个文件夹将文件移动到文件夹直到没有文件吗?

private static void MoveToFolders(string targetDirectory,int numberOfFolders, int numberOfFilesGenerated)
{
    int itemsPerFolder = numberOfFilesGenerated / numberOfFolders;
    ?????
    //
}

建议?

【问题讨论】:

  • 家庭作业?这听起来像是对您将需求转化为工作产品的能力的测试。如果是这样,回答这个问题将是对你的伤害。这项技能在现实世界中是必须具备的,而你开发它的最佳方式是通过经验和反复试验。如果这不是家庭作业,我很抱歉假设是这样。
  • @DavidStratton 这根本不是家庭作业。我需要移动/组织数千个文件,只是想知道最好/最快的方法是什么。一个点头的例子会很棒。我的真实世界场景很多更复杂,我了解到发布问题时越简单越好。我不想通过发布复杂的问题来混淆。
  • 那么我会支持@Tigran 的回答。文件创建的嵌套循环是我的做法。

标签: c#


【解决方案1】:

我会说在循环创建文件夹并在里面创建一个文件。实现目标的步骤更少。

【讨论】:

  • 是不是一直在数文件夹并在里面移动东西。你认为它会比在一个文件夹中生成所有文件然后将它们移动到其他文件夹更快吗?在某种程度上更简单但效率更低?#
  • 对我来说似乎更快,因为需要更少的步骤来达到所需的最终状态。如果您创建并在移动之后,恕我直言,您应该在技术上执行第一个选项 + 文件移动所需的所有操作。但我建议进行测量,尤其是在您谈论数千个文件时。
猜你喜欢
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多