C# 如何在解包过程中使用System.IO.Compression重命名文件?

C# 如何在解包过程中使用System.IO.Compression重命名文件?,c#,zip,unzip,.net,C#,Zip,Unzip,.net,我有一个非常基本或一般性的问题,但我在寻找答案时遇到了一些问题。我正在使用System.IO.Compression管理放置文件夹中的文件,该文件夹将是.zip文件类型。如何在打开过程中解压缩文件并重命名所有打包的文件?我知道如何解压它们,但如果我不能重命名它们,可能会删除或覆盖其他重复的文件 使用“Entries”方法跟踪您所接触的文件,然后发送到临时文件,然后重命名,并将其放置在预期位置,这是唯一的方法吗?我假设我可以在打开过程中进行命名,而不需要额外的步骤。如果没有,或者我遗漏了什么,我为

我有一个非常基本或一般性的问题,但我在寻找答案时遇到了一些问题。我正在使用
System.IO.Compression
管理放置文件夹中的文件,该文件夹将是
.zip
文件类型。如何在打开过程中解压缩文件并重命名所有打包的文件?我知道如何解压它们,但如果我不能重命名它们,可能会删除或覆盖其他重复的文件


使用“Entries”方法跟踪您所接触的文件,然后发送到临时文件,然后重命名,并将其放置在预期位置,这是唯一的方法吗?我假设我可以在打开过程中进行命名,而不需要额外的步骤。如果没有,或者我遗漏了什么,我为这篇文章道歉。

ZipArchiveEntry类有一个方法(实际上它是一个扩展方法),允许您保存到任何名称的文件,而不仅仅是zip文件中存储的文件名


这肯定需要更多的工作,因为在将文件内容提取到子目录之前,您必须自己创建子目录,但与一次性提取整个存档相比,它提供了更多的控制。

ZipArchiveEntry类有一个方法(实际上,它是一个扩展方法)这使您可以保存到任何名称的文件,而不仅仅是zip文件中存储的文件名


这肯定需要更多的工作,因为在将文件内容提取到子目录之前,您必须自己创建子目录,但与一次性提取整个存档相比,它提供了更多的控制。

ZipArchiveEntry类有一个方法(实际上,它是一个扩展方法)这使您可以保存到任何名称的文件,而不仅仅是zip文件中存储的文件名


这肯定需要更多的工作,因为在将文件内容提取到子目录之前,您必须自己创建子目录,但与一次性提取整个存档相比,它提供了更多的控制。

ZipArchiveEntry类有一个方法(实际上,它是一个扩展方法)这使您可以保存到任何名称的文件,而不仅仅是zip文件中存储的文件名


这肯定需要更多的工作,因为在将文件内容提取到子目录之前,您必须自己创建子目录,但与一次性提取整个存档相比,它提供了更多的控制。

请查看MSDN上的条目。您可以将false作为
overwrite
参数传递,然后捕获IO异常并相应地重命名文件。当然,IO异常可能由于本文中指定的其他原因引发,因此您必须根据您的用例区分它们。

请参阅MSDN中的条目。您可以将false作为
overwrite
参数传递,然后捕获IO异常并相应地重命名文件。当然,IO异常可能由于本文中指定的其他原因引发,因此您必须根据您的用例区分它们。

请参阅MSDN中的条目。您可以将false作为
overwrite
参数传递,然后捕获IO异常并相应地重命名文件。当然,IO异常可能由于本文中指定的其他原因引发,因此您必须根据您的用例区分它们。

请参阅MSDN中的条目。您可以将false作为
overwrite
参数传递,然后捕获IO异常并相应地重命名文件。当然,IO异常可能是由于文章中指定的其他原因引发的,因此您必须根据您的用例来区分它们。

我今天花了几个小时试图用7zip完成这项工作,但似乎无法在我的项目中包含所需的库。这节省了我大量的时间和头痛,谢谢!我今天花了几个小时试图用7zip完成这项工作,但似乎无法在我的项目中包含所需的库。这节省了我大量的时间和头痛,谢谢!我今天花了几个小时试图用7zip完成这项工作,但似乎无法在我的项目中包含所需的库。这节省了我大量的时间和头痛,谢谢!我今天花了几个小时试图用7zip完成这项工作,但似乎无法在我的项目中包含所需的库。这节省了我大量的时间和头痛,谢谢!