SharpZipLib - 解压缩文件

时间:2016-06-12 14:25:00

标签: c# .net sharpziplib

我在我的应用程序中使用SharpZipLib来解压缩文件。我有一个文件夹,其中zip被复制并在那里提取。 ZIP和文件夹名称是一个guid。  文件夹大多包含1或2个平均大小为45kb的XML文件。

以下是存储所有文件的SAN存储(不完全相同):

\\ sharableFolder \ Folder1中\ FOLDER2 \ Folder3

几天前记录了错误。 每当执行解压缩操作时,都会连续记录以下错误:

尝试在文件上创建比文件系统支持的更多链接

我们搜索了这个问题,我们找到了以下链接:

https://msdn.microsoft.com/en-us/library/cc231199.aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/ms681383

但我们没有找到帮助来解决它。

我们检查了:

  1. 文件夹可以包含的文件和文件夹的限制

    • 对于 FAT :单个文件夹中的最大文件数: 65,534

    • 对于 NTFS :单个文件夹中的最大文件数: 4,294,967,295

  2. 我们假设ZIP文件没有问题。目前,总共存在 1,31,760 个文件(Zip和文件夹)。我们创建了1,00,000个ZIP文件,并使用ICSharpZipLib提取了相同数量的文件。总共有一个文件夹中有2,00,000个文件。我们假设文件夹不能包含1,31,760个文件失败。

  3. 我们尝试了替代代码来解压缩文件。这也行不通。

  4. 我们检查路径是否太长。但事实并非如此。路径已经达到极限。

  5. 我们尝试移出几千个文件。但是这个解决方案甚至没有用。

  6. 最后,我们创建了一个新文件夹,并使用新文件夹更新了路径。它运作正常。

    但我想知道这个问题可能是什么原因。生产中的其他文件夹可能会发生这种情况。

    感谢任何帮助。提前致谢

    以下是堆栈跟踪:

    型= “的 System.IO.IOException

    message =“尝试在文件上创建比文件系统支持的更多链接。

    源= “mscorlib程序”

    详细=“System.Exception的

    System.IO.IOException:尝试在文件上创建比文件系统支持的更多链接。

    at System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)

    at System.IO.Directory.InternalCreateDirectory(String fullPath,String path,Object dirSecurityObj,Boolean checkHost)

    at System.IO.Directory.InternalCreateDirectoryHelper(String path,Boolean checkHost)

    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)

    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream,String targetDirectory,Overwrite overwrite,ConfirmOverwriteDelegate confirmDelegate,String fileFilter,String directoryFilter,Boolean restoreDateTime,Boolean isStreamOwner)

    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName,String targetDirectory,Overwrite overwrite,ConfirmOverwriteDelegate confirmDelegate,String fileFilter,String directoryFilter,Boolean restoreDateTime)

    at MyProject.ProjectFile.File.UnzipFile(String ErrorFile,String& ErrorXMLPath,String& FEXMLPath,String mXMLPath)

    at MyProject.ProjectFile.File.ValidateUnzippedFile(Object items)

    ---内部异常堆栈跟踪结束---

0 个答案:

没有答案