使用C#删除ISO映像中的文件

时间:2013-05-26 21:30:50

标签: c# iso9660

我正在使用C#开发一个从CD / DVD创建ISO映像的应用程序,然后它允许用户删除包含在Iso文件中的文件,但到目前为止我还没有找到办法。 如果您有任何想法,请。 提前致谢

2 个答案:

答案 0 :(得分:1)

以下内容出现在您的问题旁边的“相关问题”下:"How can I add and remove files from an ISO image?"。它没有标记C#,但你应该看一下答案。

答案 1 :(得分:0)

您只需更改程序的运行顺序即可。首先读入文件层次结构,然后允许用户选择要删除的文件,然后将剩余的文件写为ISO文件。您应该能够将文件和目录保存在树数据结构中。删除文件夹或文件只会删除相应的节点或叶子。

关于直接删除ISO映像中的文件或目录的问题,上述相同的规则适用,因为ISO9660(ECMA-119)格式本质上是序列化树结构。只需将要删除的子树和叶子的相应记录清零。但请注意,这种方法会在图像中留下垃圾空间。实际上,为了使图像尺寸更小,您需要对图像执行压缩操作(将层次结构重新序列化为新文件)。