从LZH存档中提取文件

时间:2015-09-16 12:15:45

标签: c# .net archive

我有 LZH 存档(存档的.lzh,.lha扩展名),需要在.NET Framework 4中从中提取文件吗? .NET Framework 4是否有一些内置的工具集?

2 个答案:

答案 0 :(得分:1)

我将LHA Java解压缩库移植到名为LHA Decompressor的.NET。

答案 1 :(得分:0)

非常感谢以上作者。我已经发布了一个简单的实现,以供参考。

            //Extracts all files in the .lzh archive
            LhaFile lhaFile = null;
            byte[] dest = new byte[8];
            List<string> extractedFileList = new List<string>();

            lhaFile = new LhaFile(filePath, Encoding.UTF7);
            IEnumerator<LhaEntry> enumerator = lhaFile.GetEnumerator();

            while (enumerator.MoveNext())
            {
                string fileName = enumerator.Current.GetPath();
                LhaEntry lhaEntry = lhaFile.GetEntry(fileName);
                dest = lhaFile.GetEntryBytes(lhaEntry);

                File.WriteAllBytes(Path.Combine(extractionPath, fileName), dest);

                string fullPath = Path.Combine(extractionPath, fileName);
                extractedFileList.Add(fullPath);

            }

            lhaFile.Close();