快速提取大量小tar档案

Posted

技术标签:

【中文标题】快速提取大量小tar档案【英文标题】:Fast extracting of large number of small tar archives 【发布时间】:2017-07-29 12:46:08 【问题描述】:

我有大量的小型 tar 档案(每个大约 50kb)。我需要最快的方法如何使用 C# 提取这些文件。我不想将它们保存到磁盘,因为我必须在提取后对内容进行一些其他处理。我尝试自己做,但处理速度不是很快。你能告诉我处理 tar 文件的最快方法吗?

【问题讨论】:

它是什么?快速提取还是快速“处理”?如果是后者,那么您需要准确告诉我们您正在尝试什么处理 最好的方法取决于用于创建 tar 的方法。有不同类型的焦油。请参阅以下网页上的类型标志:en.wikipedia.org/wiki/Tar_(computing). I tried to do it on my own but the processing was not very fast - 你能告诉我们那个代码吗? 【参考方案1】:

我需要最快的方法来提取这些文件

我必须在提取后对内容进行一些其他处理

Yoiu 可能想研究 TPL 数据流。无论问题是在解压还是后续处理中,都是完美的。与其拥有一个大功能,不如将其分解为多个相互关联的步骤。本质上,Dataflow 为您希望执行的每个任务步骤创建连接组件的流管道。每一步都可以完全控制线程;并发。

更多

Dataflow (Task Parallel Library)

【讨论】:

以上是关于快速提取大量小tar档案的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Perl 的 Archive::Tar 保存 tar 档案中的 setuid 位?

如何提取具有相同文件夹结构的档案以便合并文件夹内容?

linux tar 是压缩还是解压

学习Linux tar 命令:最简单也最困难

linux压缩命令压缩和提取文件

带有流媒体档案的 Websockets