简体   繁体   中英

Extract file from LZH archive

I have LZH archive (.lzh, .lha extensions of archive), and need to extract file from it in .NET Framework 4? Does .NET Framework 4 have some built in toolset for this?

我将 LHA Java 解压缩库移植到 .NET 中,称为LHA Decompressor

Thanks very much to the author above. I have posted a simple implementation of it for reference.

            //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();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM