并行创建文件夹和文件

时间:2015-03-09 05:50:54

标签: c# task-parallel-library

我目前正在开展一个关于文档生成的项目。 鉴于100,000个客户,我需要为客户创建一个文件夹,并在其中创建一个文件。 是否更快地提前创建所有文件夹或创建文件和文件夹(如果不存在),因为我在循环中进行。 我问的原因是因为我注意到程序复制文件夹或备份数据通常首先创建文件夹,然后将内容复制到其中。

任何建议

1 个答案:

答案 0 :(得分:0)

我不是100%肯定(我没有设置定时器比较),但是我认为在1次迭代中做两者都会更快更干净。假设您要验证没有文件夹/文件创建失败,您可以使用

创建目录并验证它是否已成功创建
var clientPath = @"C:\foo\bar";
if (Directory.Exists(clientPath)) continue;
if (Directory.CreateDirectory(clientPath).Exists)

然后您可以在继续下一个文件之前对文件执行相同操作,如果没有,则记录或正确处理。

通过这种方式,您知道每个文件夹都将使用正确的文件创建,或者它将被记录,并且它也将仅进行一次迭代,而不是两次创建文件夹然后创建文件。

这只是我对情况的看法